我在打包的应用程序中使用chrome.identity来获取使用Facebook的用户令牌。我调用chrome.identity.launchWebAuthFlow,并且需要将访问令牌发送给服务器,然后使用访问令牌来验证用户。如何获取Facebook令牌使用Oauth2与chrome.identity
适用于Google+。但由于某种原因,它不适用于Facebook。出于某种原因,Facebook的OAuth看起来很特别。我已将extensionid.chromiumapp.org添加到API中的重定向网址列表中。添加
"https://extensionid.chromiumapp.org/*",
"https://facebook.com/*",
"https://www.facebook.com/dialog/",
"https://graph.facebook.com/*"
to manifest.json。但没有任何改变。
在呼吁chrome.identity.launchWebAuthFlow我使用URL这样
"https://www.facebook.com/dialog/oauth/access_token?" +
"client_id=myclientid&client_secret=myclientsecret&" +
"response_type=token&grant_type=client_credentials"
当我尝试调用它,我收到以下错误信息:
«launchWebAuthFlow completed Object {message: "Authorization page could not be loaded."} »
当我使用网址像
«"https://www.facebook.com/dialog/oauth?client_id=myclientid&redirect_uri=https://myextensionid.chromiumapp.org/facebook.com=token&scope=user"»
我得到了一个错误:
«launchWebAuthFlow completed Object {message: "User interaction required."} undefined »
我尝试在4天内获得Facebook令牌。我累了。我做错了什么? 为什么chrome.identity.getAuthToken适用于Google+和chrome.identity.launchWebAuthFlow不会与Facebook?
我希望有人做了同样的事情,可以帮助我。
不提醒你什么?调用crome.identity.launchWebAuthFlow()时是否使用了“交互式”标志? –
我使用 - chrome.identity.launchWebAuthFlow({'interactive':false,'url':authUrl},function(token){});和 - var authUrl =“https://www.facebook.com/dialog/oauth/access_token?"+ ”client_id = myclientId&client_secret = myclientSecret&“+ ”response_type = token“; – user3215200
您是否尝试将“交互式”更改为true? –