我正在尝试简单地连接到onedrive API,因此我认为使用现有的示例项目可能是最佳选择。不幸的是,我使用AAD连接到Onedrive for Business的所有尝试都会导致“BAD请求”错误。
因此,我在Visual Studio 2015中打开了示例项目,并使其正常运行。 我有一个Sharepoint开发站点工作(目前用于Add-in dev) 我从Visual Studio中创建了Azure中的应用程序工作正常,但是,安装程序不接受我的sharepoint站点的生产名称(即:myorgname.sharepoint.com),但只接受临时URL(即myorgname.onmicrosoft.com) )。 我按如下方式输入了设置(根据示例项目说明)
private const string AadClientId = "67a34ew-...";
public const string AadReturnUrl = "localhost:8080";
public const string AadTargetUrl = "myorgname.onmicrosoft.com";
说实话,我确定的唯一设置是 AadClientId 。我发现有关 AadReturnUrl 值的混合信息,而 AadTargetUrl 值应该是 - 所以这些都可能是个问题。
我运行代码并选择文件>登录AAD 我输入我的办公室365电子邮件地址(拥有Sharepoint和Azure的完全管理员权限) 从那里我收到“BAD请求错误”。
在查看VS立即窗口时,我发现以下内容:
Microsoft.IdentityModel.Clients.ActiveDirectory ... TokenCache: Looking up cache for a token
OneDriveApiBrowser.vshost.exe ... TokenCache: Looking up cache for a token
Microsoft.IdentityModel.Clients.ActiveDirectory ... TokenCache: No matching token was found in the cache
OneDriveApiBrowser.vshost.exe ... TokenCache: No matching token was found in the cache
我在文档中找不到对TokenCache的引用。是否有人能够对可能缺失的东西有所了解?
此致
Greg J
答案 0 :(得分:0)
的确,这个问题与AadReturnUrl和AadTargetUrl的值有关。
正确的设置如下:
AadReturnUrl = "urn:.....:oauth:2.0:oob";
AadTargetUrl = "myorgname.sharepoint.com";
AadReturnUrl来自Azure> Azure Active Directory>应用注册> [选择应用]>设置>重定向URI。
当我的应用程序是在Azure中从Visual Studio创建的时候,它创建了这个条目。
我设法连接到我的共享文档文件夹。 Sample app允许我成功上传文件并下载文件。