Priority
(Low) Something is a little off
Description
If you have a site that has a site collection app catalog and contains appcatalog in the url, the spo app add command will throw a 404 error when attempting to install an app in the site collection.
Steps to reproduce
- Create a new SharePoint site with the url,
https://<tenant>.sharepoint.com/sites/appcatalog
- Add an app catalog to the site
- Add app to site using
m365 spo app add --filePath sharepoint/solution/test.sppkg --appCatalogScope sitecollection --appCatalogUrl https://tenant.sharepoint.com/sites/appcatalog
Expected results
App should be installed in App Catalog
Actual results
Error: 404 FILE NOT FOUND is returned.
Diagnostics
Request error:
{
"url": "https://tenant.sharepoint.com/sites/_api/web/sitecollectionappcatalog/Add(overwrite=true, url='test.sppkg')",
"status": 404,
"statusText": "Not Found",
"headers": {
"cache-control": "private",
"content-length": "18",
"content-type": "text/plain; charset=utf-8",
"p3p": "CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"",
"x-networkstatistics": "0,525568,0,0,157063,0,50836",
"x-ms-diagnostics": "3000003;reason="Invalid audience Uri 'https://6plbfs.sharepoint.com/'.\";category=\"invalid_client\"",
"x-databoundary": "EU",
"x-1dscollectorurl": "https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/",
"x-ariacollectorurl": "https://eu-mobile.events.data.microsoft.com/Collector/3.0",
"sprequestguid": "4606d0a0-b041-6000-fe98-13e0981e3180",
"request-id": "4606d0a0-b041-6000-fe98-13e0981e3180",
"ms-cv": "oNAGRkGwAGD+mBPgmB4xgA.0",
"strict-transport-security": "max-age=31536000",
"x-frame-options": "SAMEORIGIN",
"content-security-policy": "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.microsoftonline.cn *.powerapps.com *.yammer.com *.officeapps.live.com *.office.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;",
"sprequestduration": "22",
"spiislatency": "1",
"x-powered-by": "ASP.NET",
"microsoftsharepointteamservices": "16.0.0.23926",
"x-content-type-options": "nosniff",
"x-ms-invokeapp": "1; RequireReadOnly",
"x-cache": "CONFIG_NOCACHE",
"x-msedge-ref": "Ref A: 3C03C2230A6D466895E2806BA1520ED4 Ref B: LON21EDGE0719 Ref C: 2023-08-13T09:26:05Z",
"date": "Sun, 13 Aug 2023 09:26:04 GMT",
"connection": "close"
},
"error": "404 FILE NOT FOUND"
}
Error: 404 FILE NOT FOUND
CLI for Microsoft 365 version
v6.10.0
nodejs version
v18.17.0
Operating system (environment)
Other
Shell
PowerShell
cli doctor
{
"os": {
"platform": "linux",
"version": "#1 SMP Thu May 25 07:17:40 UTC 2023",
"release": "5.15.49-linuxkit-pr"
},
"cliVersion": "6.10.0",
"nodeVersion": "v18.17.0",
"cliAadAppId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
"cliAadAppTenant": "common",
"authMode": "DeviceCode",
"cliEnvironment": "docker",
"cliConfig": {},
"roles": [],
"scopes": [
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"Place.Read.All",
"Policy.Read.All",
"Reports.Read.All",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All",
"profile",
"openid",
"email",
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"Place.Read.All",
"Policy.Read.All",
"Reports.Read.All",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All"
]
}
Additional Info
Using the same command but instead using a site that does not have appcatalog in the URL, for example, siteapps works fine.
Priority
(Low) Something is a little off
Description
If you have a site that has a site collection app catalog and contains
appcatalogin the url, thespo app addcommand will throw a404 errorwhen attempting to install an app in the site collection.Steps to reproduce
https://<tenant>.sharepoint.com/sites/appcatalogm365 spo app add --filePath sharepoint/solution/test.sppkg --appCatalogScope sitecollection --appCatalogUrl https://tenant.sharepoint.com/sites/appcatalogExpected results
App should be installed in App Catalog
Actual results
Error: 404 FILE NOT FOUNDis returned.Diagnostics
Request error:
{
"url": "https://tenant.sharepoint.com/sites/_api/web/sitecollectionappcatalog/Add(overwrite=true, url='test.sppkg')",
"status": 404,
"statusText": "Not Found",
"headers": {
"cache-control": "private",
"content-length": "18",
"content-type": "text/plain; charset=utf-8",
"p3p": "CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"",
"x-networkstatistics": "0,525568,0,0,157063,0,50836",
"x-ms-diagnostics": "3000003;reason="Invalid audience Uri 'https://6plbfs.sharepoint.com/'.\";category=\"invalid_client\"",
"x-databoundary": "EU",
"x-1dscollectorurl": "https://eu-mobile.events.data.microsoft.com/OneCollector/1.0/",
"x-ariacollectorurl": "https://eu-mobile.events.data.microsoft.com/Collector/3.0",
"sprequestguid": "4606d0a0-b041-6000-fe98-13e0981e3180",
"request-id": "4606d0a0-b041-6000-fe98-13e0981e3180",
"ms-cv": "oNAGRkGwAGD+mBPgmB4xgA.0",
"strict-transport-security": "max-age=31536000",
"x-frame-options": "SAMEORIGIN",
"content-security-policy": "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.microsoftonline.cn *.powerapps.com *.yammer.com *.officeapps.live.com *.office.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;",
"sprequestduration": "22",
"spiislatency": "1",
"x-powered-by": "ASP.NET",
"microsoftsharepointteamservices": "16.0.0.23926",
"x-content-type-options": "nosniff",
"x-ms-invokeapp": "1; RequireReadOnly",
"x-cache": "CONFIG_NOCACHE",
"x-msedge-ref": "Ref A: 3C03C2230A6D466895E2806BA1520ED4 Ref B: LON21EDGE0719 Ref C: 2023-08-13T09:26:05Z",
"date": "Sun, 13 Aug 2023 09:26:04 GMT",
"connection": "close"
},
"error": "404 FILE NOT FOUND"
}
Error: 404 FILE NOT FOUND
CLI for Microsoft 365 version
v6.10.0
nodejs version
v18.17.0
Operating system (environment)
Other
Shell
PowerShell
cli doctor
{
"os": {
"platform": "linux",
"version": "#1 SMP Thu May 25 07:17:40 UTC 2023",
"release": "5.15.49-linuxkit-pr"
},
"cliVersion": "6.10.0",
"nodeVersion": "v18.17.0",
"cliAadAppId": "31359c7f-bd7e-475c-86db-fdb8c937548e",
"cliAadAppTenant": "common",
"authMode": "DeviceCode",
"cliEnvironment": "docker",
"cliConfig": {},
"roles": [],
"scopes": [
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"Place.Read.All",
"Policy.Read.All",
"Reports.Read.All",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All",
"profile",
"openid",
"email",
"AllSites.FullControl",
"AppCatalog.ReadWrite.All",
"AuditLog.Read.All",
"Bookings.Read.All",
"ChannelMember.ReadWrite.All",
"ChannelMessage.Read.All",
"ChannelMessage.Send",
"ChannelSettings.ReadWrite.All",
"Chat.Read",
"Chat.ReadWrite",
"Directory.AccessAsUser.All",
"Directory.ReadWrite.All",
"ExternalConnection.ReadWrite.All",
"Group.ReadWrite.All",
"IdentityProvider.ReadWrite.All",
"Mail.ReadWrite",
"Mail.Send",
"Notes.Read.All",
"Place.Read.All",
"Policy.Read.All",
"Reports.Read.All",
"SecurityEvents.Read.All",
"ServiceHealth.Read.All",
"ServiceMessage.Read.All",
"ServiceMessageViewpoint.Write",
"Tasks.ReadWrite",
"Team.Create",
"TeamMember.ReadWrite.All",
"TeamsAppInstallation.ReadWriteForUser",
"TeamSettings.ReadWrite.All",
"TeamsTab.ReadWrite.All",
"TermStore.ReadWrite.All",
"User.Invite.All",
"User.ReadWrite.All"
]
}
Additional Info
Using the same command but instead using a site that does not have
appcatalogin the URL, for example,siteappsworks fine.