我正在尝试在Web应用程序中迁移到Dropbox-api V2。目前,我已经实现了打开弹出窗口的实现,用户可以连接到他/她的Dropbox,并且我得到了令牌。我用来访问dropbox.chooser中选择的文件的访问。
。但是我很难找到解决方案。我有链接到所有迁移文档Dropbox都有的链接,但是关于client.authenticate()和dropbox.authdriver.popup()的等效范围没有什么消息?
common Dropbox!我刚刚在GitHub中发现了此问题,用于Dropbox-SDK-JS,答案是他们在V2中没有此功能的答案:(这确实令人失望,我需要自己实施所有员工:
https://github.com/dropbox/dropbox-sdk-js/issues/73#issuecomment-247382634
更新
我已经实施了我的解决方案,并想分享是否需要。
打开一个弹出窗口,我使用以下代码:
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);
然后在我的页面上,我将其指定为重定向的Dropbox,我说:
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();
})
可以从dropbox-sdk-js示例中找到parequerystring的示例