Jak zdobyć token Facebooka używając Oauth2 z chrome.identity
Używam chrome.identity w spakowanej aplikacji, aby uzyskać token użytkownika za pomocą Facebooka. Wywołuję chrome.identity.launchWebAuthFlow i muszę wziąć token dostępu, wysłać go na serwer, a następnie token dostępu jest używany do weryfikacji użytkownika.
Świetnie współpracuje z Google+. Ale z jakiegoś powodu nie działa na Facebooku. Z jakiegoś powodu Facebook OAuth wydaje się być wyjątkowy. Dodałem extensionid.chromiumapp.org do listy adresów URL przekierowań w interfejsie API. Dodany
"https://extensionid.chromiumapp.org/*",
"https://facebook.com/*",
"https://www.facebook.com/dialog/",
"https://graph.facebook.com/*"
do manifestu.json. Ale nic się nie zmieniło.
W wywołaniu chrome.identity.launchWebAuthFlow używam takiego adresu URL
"https://www.facebook.com/dialog/oauth/access_token?" +
"client_id=myclientid&client_secret=myclientsecret&" +
"response_type=token&grant_type=client_credentials"
Gdy próbuję go wywołać, otrzymuję następujący komunikat o błędzie:
«launchWebAuthFlow completed Object {message: "Authorization page could not be loaded."} »
A kiedy używam adresu URL takiego jak
«"https://www.facebook.com/dialog/oauth?client_id=myclientid&redirect_uri=https://myextensionid.chromiumapp.org/facebook.com=token&scope=user"»
Dostaję następny błąd:
«launchWebAuthFlow completed Object {message: "User interaction required."} undefined »
Próbuję zdobyć token Facebooka w 4 dni. Jestem zmęczony. Co robię źle? Dlaczego chrome.identity.getAuthToken działa świetnie dla Google+ i chrome.identity.launchWebAuthFlow z Facebookiem?
Mam nadzieję, że ktoś zrobił to samo i może mi pomóc.