如何使用DropBox-API Dropbox-JS V2打开弹出窗口



我正在尝试在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的示例

最新更新