我花了很多时间搜索并试图找到解决方案,到目前为止还没有成功。
我正在尝试按照https://dev.onedrive.com/sdk/javascript-picker-saver.htm#opening-files-on-onedrive
实现一个简单的OneDrive文件选择器但是我不断收到错误
https://login.live.com/err.srf?lc=1033#error=invalid_request&error_description=The+provided+value+for+the+input+parameter+'redirect_uri'+is+not+valid.+The+expected+value+is+'https://login.live.com/oauth20_desktop.srf'+or+a+URL+which+matches+the+redirect+URI+registered+for+this+client+application.&state=redirect_type%3dauth%26display%3dpage%26request_ts%3d1430410948914%26response_method%3durl%26secure_cookie%3dfalse
我最近尝试过使用localhost的不同选项,但即使我将页面加载到一个简单的域上,我也会得到相同的消息。
我尝试过重定向网址的变体 - 似乎没有效果。
我的网页:
<html>
<head>
<title>OneDrive</title>
<script type="text/javascript" src="https://js.live.net/v5.0/OneDrive.js" id="onedrive-js"
client-id="00000000xxxxxxxx"></script>
<script type="text/javascript">
function ShowOnedrivePicker() {
var oneDrivePickerOptions = {
success: function (files) {
alert( files[0].link + " name:" + files[0].name);
},
cancel: function () {
// handle when the user cancels picking a file
},
linkType: "webViewLink",
multiSelect: false
}
OneDrive.open(oneDrivePickerOptions);
}
</script>
</head>
<body>
<button onclick="ShowOnedrivePicker()">One Drive Picker</button>
</body>
</html>
我已注册并拥有客户端ID,并且已在API设置中尝试过重定向网址的变体,例如mydomain.com,www.mydomain.com和www.mydomain.com/redirect,但没有成功。< / p>
虽然我之前在Stack Overflow中找到了许多好的解决方案,但这是我第一次提出问题。谢谢。
答案 0 :(得分:1)
我有一个类似的问题,使用Xamarin中的AzureSDK以及解决了我的问题是在重定向网址中,在Microsoft Developer帐户页面中,我指定了#34; http&#34;。我将其更改为&#34; https&#34;它运作得很好。
答案 1 :(得分:1)
我已经解决了,当您在https://apps.dev.microsoft.com/上配置重定向URI时,必须在最后添加“/ signin-microsoft”。
答案 2 :(得分:1)
我在这里遵循这些说明
https://docs.microsoft.com/en-gb/onedrive/developer/controls/file-pickers/js-v72/open-file
我尝试了一些不同的东西,但对我有用的只是使redirect_url与文件选择器打开的url相同。因此,如果我从主页打开选择器,重定向URL也是主页。似乎在免费计划中使用localhost和azure web应用程序。这是我用过的网址的一个例子......
答案 3 :(得分:0)
@daspek我认为让用户在不同的回调URL上进行身份验证是有意义的。主要原因是OneDrive按钮可以简单地用在匿名用户无法访问的站点的管理站点上。
我目前正在为Drupal实现一个新的插件,动态创建内容类型,URL路径如下所示:
node / add / [type]其中[type]可以是文章,页面或任何其他名称。因此,为了能够使用OneDrive选择器插件,我必须将所有这些链接添加到应用程序设置。
此按钮在第二次和第N次点击时也不能正常工作。首先点击按钮会触发弹出窗口,但下面的点击不会。
我今天能够验证问题:https://dev.onedrive.com/sdk/javascript-picker-saver.htm我使用的是最新版本的Chrome。
答案 4 :(得分:0)
我正在努力解决同样的问题,最终我找到了解决方案。