gpt4 book ai didi

javascript - 使用 Phonegap 进行 Dropbox 身份验证

转载 作者:行者123 更新时间:2023-11-30 16:05:57 24 4
gpt4 key购买 nike

我的问题是,当我尝试使用 Phonegap 应用程序从 Dropbox 获取 access_token 时,出现以下错误:

Not allowed to load local resource: file:///android_asset/www/index.html#access_token={MY_ACCESS_TOKEN}&token_type=bearer&state=%3CCSRF+token%3E&uid=130101032

document.addEventListener("deviceready", onDeviceReadyLoginDropbox, false);
function onDeviceReadyLoginDropbox() {
var url = document.URL,
shortUrl=url.substring(0,url.lastIndexOf("/"));

console.log(cordova.InAppBrowser);

var ref = cordova.InAppBrowser.open('https://www.dropbox.com/1/oauth2/authorize?client_id={APP_KEY}&response_type=token&redirect_uri='+shortUrl+'/index.html&state=%3CCSRF%20token%3E', "_blank");
}

所以,一切正常,但重定向不是这样,这里的解决方法是什么?我读到使用 JS 无法访问本地文件,那么当重定向不起作用时我如何能够获取访问 token ?唯一的可能是只使用 JS。

最佳答案

您必须处理来自 cordova.InAppBrowser 的重定向事件。

您可以在页面加载时添加他的事件处理程序。

您必须检查登录是否成功(您可以在 url 中搜索“ACCESS_TOKEN”),并从成功 url 中获取它。

代码如下:

    ref.addEventListener('loadstart', function(event) {
// you have here url at event.url

if(event.url.indexOf('success') > -1){
// take token


}

});

您可以找到所有事件 here .

关于javascript - 使用 Phonegap 进行 Dropbox 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37049360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com