如何使用 dropbox-api dropbox-js V2 打开弹出窗口
How to open popup with dropbox-api dropbox-js V2
我正尝试在我的 Web 应用程序中迁移到 dropbox-api v2。
目前我有打开弹出窗口 window 的实现,用户连接到 his/her 保管箱,我得到令牌。在后面的步骤中,我用它来访问用户在 Dropbox.chooser 中选择的文件。
但是我很难找到解决这个问题的方法。我有 link 到 dropbox 拥有的所有迁移文档,但是没有任何关于什么是 client.authenticate() 和 Dropbox.AuthDriver.Popup() ?
的说法
普通的 Dropbox!!!我刚刚在 GitHub 中为 dropbox-sdk-js 发现了这个问题,并且他们在 V2 中没有这个功能的答案:( 真令人失望,我需要自己实现所有人员:
https://github.com/dropbox/dropbox-sdk-js/issues/73#issuecomment-247382634
已更新
我已经实施了我的解决方案,如果有人需要,我愿意分享。
要打开弹出窗口 window 我使用以下代码:
window.open(dropbox.getAuthenticationUrl("MY REDIRECT URL"), 'DropboxAuthPopup', 'dialog=yes,dependent=yes,scrollbars=yes,location=yes')
window.addEventListener('message',function(e) {
if (window.location.origin !== e.origin) {
// Throw error
} else {
// e.data Is what was sent from redirectUrl
// e.data.access_token is the token I needed from dropbox
}
},false);
然后在我指定要重定向的保管箱的页面上,我输入:
window.addEventListener('load', function() {
var message = parseQueryString(window.location.hash)
window.location.hash = '';
opener = window.opener
if (window.parent != window.top) {
opener = opener || window.parent
}
opener.postMessage(message, window.location.origin);
window.close();
})
parseQueryString 的例子可以从dropbox-sdk-js examples
中找到
我正尝试在我的 Web 应用程序中迁移到 dropbox-api v2。 目前我有打开弹出窗口 window 的实现,用户连接到 his/her 保管箱,我得到令牌。在后面的步骤中,我用它来访问用户在 Dropbox.chooser 中选择的文件。
但是我很难找到解决这个问题的方法。我有 link 到 dropbox 拥有的所有迁移文档,但是没有任何关于什么是 client.authenticate() 和 Dropbox.AuthDriver.Popup() ?
的说法普通的 Dropbox!!!我刚刚在 GitHub 中为 dropbox-sdk-js 发现了这个问题,并且他们在 V2 中没有这个功能的答案:( 真令人失望,我需要自己实现所有人员:
https://github.com/dropbox/dropbox-sdk-js/issues/73#issuecomment-247382634
已更新
我已经实施了我的解决方案,如果有人需要,我愿意分享。
要打开弹出窗口 window 我使用以下代码:
window.open(dropbox.getAuthenticationUrl("MY REDIRECT URL"), 'DropboxAuthPopup', 'dialog=yes,dependent=yes,scrollbars=yes,location=yes')
window.addEventListener('message',function(e) {
if (window.location.origin !== e.origin) {
// Throw error
} else {
// e.data Is what was sent from redirectUrl
// e.data.access_token is the token I needed from dropbox
}
},false);
然后在我指定要重定向的保管箱的页面上,我输入:
window.addEventListener('load', function() {
var message = parseQueryString(window.location.hash)
window.location.hash = '';
opener = window.opener
if (window.parent != window.top) {
opener = opener || window.parent
}
opener.postMessage(message, window.location.origin);
window.close();
})
parseQueryString 的例子可以从dropbox-sdk-js examples
中找到