我正在尝试使用URL登录用户“https://login.windows.net/common/oauth2/authorize?response_type=code
一切都很好。
我甚至可以通过请求获得所有范围的access_tokenhttps://login.windows.net/common/oauth2/token.
但!我有问题,我无法获得有关用户的任何信息,也无法获取他的文件。
我总是只得到HTTP状态401未经授权。
我做错了什么?
关于使用统一API的可能性的问题。我的目标是上传大文件(最大1GB)。使用统一API可能吗?我在留档中找不到任何东西,但我发现OneDrive for Business API不可能(最大文件大小为100MB)。
我会尝试将“Accept”标头更改为“application/json;odata.metadata=minimal”。odata.metadata=none 不会出现在统一 API 支持的 MIME 类型列表中。
Fiddler的application/json中返回的支持类型;odata.metadata=最小;奥达塔。流=真;IEEE754Compatible=false,application/json;odata.metadata=最小;奥达塔。流=真;IEEE754Compatible=true,application/json;odata.metadata=最小;奥达塔。streaming=true,application/json;odata.metadata=最小;奥达塔。流=假;IEEE754Compatible=false,application/json;odata.metadata=最小;奥达塔。流=假;IEEE754Compatible=true,application/json;odata.metadata=最小;奥达塔。streaming=false,application/json;奥达塔。元数据=最小;IEEE754Compatible=false,application/json;奥达塔。元数据=最小;IEEE754Compatible=true,application/json;奥达塔。元数据=最小,application/json;odata.metadata=已满;奥达塔。流=真;IEEE754Compatible=false,application/json;odata.metadata=已满;奥达塔。流=真;IEEE754Compatible=true,application/json;odata.metadata=已满;奥达塔。streaming=true,application/json;odata.metadata=已满;奥达塔。流=假;IEEE754Compatible=false,application/json;odata.metadata=已满;odata.streaming=假;IEEE754Compatib…'与任何可接受的MIME类型的application/json不匹配;odata=详细'
所以今天早些时候遇到了完全相同的问题:总是得到 401 未经授权或其他错误。然后我遇到了这个答案:为 SharePoint Online O365 构建多租户应用程序
就是这样:这是非常违反直觉的,但答案是,在获取发现 URL 的令牌并执行服务发现后,您需要为要调用的每个 serviceResourceId 获取令牌。这里有两个非常重要的点,将近 8 个小时的阅读文档并没有明确说明。
每个服务资源ID都有不同的令牌
第一点非常令人困惑:我假设它是这样做的,因为单个租户应用程序在单独的集群上运行,微软选择不拥有单一的权限服务。每个其他实现多租户的实现(例如,Google Apps实现)都会为您提供一个令牌,将您的所有权限包装到一个球中。
您可以使用相同的代码多次调用令牌检索服务
这是令人难以置信的违反直觉(我故意使用粗体大写)。互联网上没有其他 OAuth2 服务(我个人为轻松编写了 30 个 OAuth2 实现的代码),您可以使用相同的代码多次调用令牌检索服务而不会收到错误。这完全违背了所有默认预期,并且这是一个重大的文档失败,它没有更清楚地说明为偏离标准实践。
我会再说一遍:在整个互联网上的任何其他地方,您都不能多次使用相同的OAuth2代码来检索访问令牌。这是一件应该在文档中明确指出的事情,但事实并非如此。
如果此问题仍然存在,您应该使用返回的OAuth2代码来执行此操作:
第3步中的代码将实际授权您访问您想要的租户endpoint。3.
您如何访问旧 API? 在我的azure帐户中,我有Office 365统一API(预览版),我希望使用旧的API,因为它处于预览版,文档不完整,运行缓慢。 但是,在我的azure帐户中,我只有Office 365统一API(预览版)、Office 365管理API
尝试将权限添加到我的Azure AD管理门户中的“Office 365统一API(预览)”,然后保存时,我总是收到错误: “无法使用以下详细信息更新应用程序“”的配置: “请再试一次。如果问题仍然存在,请联系支持人员。 我尝试了2天,它不起作用。我无法联系支持人员,因为我正在使用Azure试用版来测试此软件。这是怎么回事?有什么想法吗?我真的很想测试此软件的潜力。 “Office 365管理API
我正在为一家伍迪商店做一个离子2项目。我在我的应用程序中使用WooCommerce REST API,并使用PostmanChrome应用程序使用OAuth-1.0测试API。我收到了GET请求的正确响应,但对于POST请求,我收到了签名不匹配的错误,因为:
我有一个在Azure网站上运行的标准Web API,启用了Azure AD身份验证,当在浏览器中浏览API时,我可以通过浏览器登录并获得对API的访问权。 但是,WPF桌面应用程序在提交请求时接收到未经授权的响应: 更新: 我已经在一个Azure帐户中重新创建了这个环境,我可以访问这个帐户,但仍然收到一个未经授权的响应(在浏览器中运行良好)。
我在将curl请求转换为python代码请求时遇到了麻烦。 工作卷曲请求 卷曲-X柱“http://xxxxxx“-H”accept:application/json“-H”内容类型:application/x-www-form-urlencoded“-H”授权:令牌882a6ec053ff6dbac623eff400f67c0bb6ade399“-d”name=namename” 不工作pyth