Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Microsoft Graph,上载到sharepoint驱动器:调用方未通过身份验证_C#_Azure_Sharepoint_Office365_Microsoft Graph Api - Fatal编程技术网

C# Microsoft Graph,上载到sharepoint驱动器:调用方未通过身份验证

C# Microsoft Graph,上载到sharepoint驱动器:调用方未通过身份验证,c#,azure,sharepoint,office365,microsoft-graph-api,C#,Azure,Sharepoint,Office365,Microsoft Graph Api,在本地主机上托管的应用程序上执行以下操作: 但当我将应用程序作为webapp上传到azure上的生产服务器上时 我通过尝试按id查找sharepoint站点并创建上载会话来获得此错误 外部: Microsoft.Graph.ServiceException:代码:itemNotFound 消息:找不到资源 内部: Microsoft.Graph.ServiceException:代码:未经验证 消息:调用方未通过身份验证 为什么它在本地主机上工作而不是在我的azure应用程序上工作? 开发和生产

在本地主机上托管的应用程序上执行以下操作:

但当我将应用程序作为webapp上传到azure上的生产服务器上时

我通过尝试按id查找sharepoint站点并创建上载会话来获得此错误

外部: Microsoft.Graph.ServiceException:代码:itemNotFound 消息:找不到资源

内部: Microsoft.Graph.ServiceException:代码:未经验证 消息:调用方未通过身份验证

为什么它在本地主机上工作而不是在我的azure应用程序上工作? 开发和生产的应用程序注册不同,但权限相同

我所知道的唯一区别是,我在以后添加了Sites.Read.All权限,而不是在中注册应用程序进行制作时添加的权限

我正在使用Microsoft Graph客户端获取访问令牌。 我还尝试删除所有脱机令牌,但它不起作用

如果我没记错的话,当我添加权限Sites.Read.All时,我得到了一个新的同意请求

应用程序中已启用权限: 电子邮件、Files.Read、Files.ReadWrite、File.ReadWrite.AppFolder、脱机访问、openid、配置文件、Site.Read.All、User.Read

有什么问题吗

生产登录:

本地登录:


请阅读评论以了解更多详细信息。

我在登录后使用令牌发现了错误

Azure应用程序注册缺少一个权限Files.ReadWrite。除开发之外的所有人都没有该权限,但该权限以某种方式包含在范围中

天蓝中的虫子?如果我没记错的话,我在应用程序注册中包含了很多权限,然后删除了其中的大多数权限,包括Files.ReadWrite.All

即使我的WebApp未在作用域和应用注册中包含权限,权限文件.ReadWrite.All仍保留在每个应用注册的现有用户的作用域中。这就是它在开发环境中工作的原因


谢谢Marc LaFleur-MSFT。

您确认您的代币中包含了范围吗?您可以使用@marclafler-MSFT解析JWT。您好,我明天将尝试caleb.net,谢谢。但是我已经确认两个web.config都包含相同的作用域。我就是找不到与生产和本地不同的地方,无法让它发挥作用。顺便说一句,我正在开发的产品可以同时保存到OneDrive和SharePoint,其中第一个可以同时在这两个环境中工作,而后一个只能在本地工作。相同的SharePoint server实例还是单独的prod和test?如果这里的问题是配置而不是代码,则为curry。@marclafler MSFT是,这是同一个SharePoint实例。我已经从生产环境中解析了JWT。它也是我用于测试的同一个Office 365帐户。我知道唯一不同的是Azure应用程序,url是,产品有,但在环境和Azure应用程序中都应该正确设置。否则OneDrive就不应该工作了,对吧?@Marclafler MSFT你好,现在我已经上传了本地JWT。我还仔细检查了站点id、驱动器id和驱动器项目id在两个环境中是否相同。我不清楚这里到底发生了什么,但我很高兴您能让它正常工作。我会说,通常我建议使用v2端点并动态请求您的作用域,即在请求中。这使得在开发/测试和生产之间进行调试和迁移变得更加容易。@Marclafler MSFT我当时很匆忙地写下了我的答案,我想现在答案是错的,我希望应该更容易理解。谢谢,我会调查的。
"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/items/01VI7PMEF6Y2GOVW7725BZO354PWSELRRZ?%24filter=folder ne null&%24select=id%2cfolder%2cname%2cparentReference%2cwebUrl"

"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/items/01VI7PMEF6Y2GOVW7725BZO354PWSELRRZ?%24filter=folder ne null&%24select=id%2cfolder%2cname%2cparentReference%2cwebUrl"

"https://graph.microsoft.com:443/v1.0/sites/test.sharepoint.com,edc2dd46-cea8-4b10-a872-cd1a55ba4529,b14c0787-d4c1-4f4a-9a6c-7e010d794be9/drives/b!Rt3C7ajOEEuocs0aVbpFKYcHTLHB1EpPmmx-AQ15S-nygMtHkkWNRaaOc2GebusJ/root:/Presentation.en-GB.pptx:/microsoft.graph.createUploadSession"
{
 typ: "JWT",
 alg: "RS256",
 kid: "VWVIc1WD1Tksbb301sasM5kOq5Q"
}.
{
 aud: "f53962c3-2bd4-4302-adcf-49d9a93ccef0",
 iss: "https://login.microsoftonline.com/GUID/v2.0",
 iat: 1502142424,
 nbf: 1502142424,
 exp: 1502146324,
 aio: "ATQAy/8DAAAAo99zdMc3jCP7sR8Zw0iKijdu1Nv2AeJOpJ65OHtXb0o8QjTm9O320mHxIAv5tWJw",
 c_hash: "APreKq7N3Y0oG8SP6ipZdA",
 name: "First name Last name",
 nonce: "636377394901824543.ZWQ4MGVkYmEtYTMzMS00ZDUyLTgzZmYtYWFjMmRkNWRjNzhhNTAxMWUyYzItOGNhNi00N2IzLTk5MGEtMTVmYTlhYzBkNDVk",
 oid: "4f64d4db-8115-4f19-8554-bedf20688226",
 preferred_username: "firstname.lastname@company.com",
 sub: "rxGHRTX9YHogzaC_HgOmXvoKJ0Xye6Rk5HPAjLphQRc",
 tid: "34e9a1f3-23e1-4ead-b2fd-41660c25cc47",
 ver: "2.0"
}.
{
 typ: "JWT",
 alg: "RS256",
 kid: "VWVIc1WD1Tksbb301sasM5kOq5Q"
}.
{
 aud: "36d2abdd-2363-4ff9-b597-77d41e0e3b81",
 iss: "https://login.microsoftonline.com/GUID/v2.0",
 iat: 1502173871,
 nbf: 1502173871,
 exp: 1502177771,
 aio: "ATQAy/8EAAAA2JCq8vpq6La3M0KIKWw1vgJOfhDQyurYRhbCR47qSjByGzPkyZX0zi5y9uYCQS+q",
 c_hash: "3JkkVwHgmYiHvR-gVdb22w",
 name: "First name Last name",
 nonce: "636377709651517241.MDNkOWNhYzMtYjk4NC00OTBkLWI2Y2EtYzU5NmM0NWZjOGExNWQxZmU3MTgtN2RhYS00NjVlLTkwZDgtZjIwOGY4NTcyNTZi",
 oid: "4f64d4db-8115-4f19-8554-bedf20688226",
 preferred_username: "firstname.lastname@company.com",
 sub: "MRN4y1TZ-qG1uxrL7ozf8KbBm0VbcbH7djaKK187qH8",
 tid: "34e9a1f3-23e1-4ead-b2fd-41660c25cc47",
 ver: "2.0"
}.