it-swarm.com.de

versuchen, App-Zugriffstoken zu erhalten

Ich habe versucht, mit diesem Code ein App-Access-Token für meine Facebook-App zu erhalten:

APP_ACCESS_TOKEN = FB.api(
    "oauth/access_token",
    {client_id: APP_ID, client_secret: APP_SECRET_CODE, redirect_uri: uri},
    function(response){
    console.log(response);
});

was sollte sein:

GET https://graph.facebook.com/oauth/access_token?
        client_id=YOUR_APP_ID
       &client_secret=YOUR_APP_SECRET
       &redirect_uri=uri

aber ich bekomme eine fehler:

code: 1
message: "Missing authorization code"
type: "OAuthException"

Was ist der Autorisierungscode und wie bekomme ich ihn?

42
Franz Deschler

Einen App-Zugriffstoken erhalten

Rufen Sie die folgende HTTP-GET-Anforderung auf, um ein App-Zugriffstoken zu erhalten:

GET https://graph.facebook.com/oauth/access_token?
            client_id=YOUR_APP_ID
           &client_secret=YOUR_APP_SECRET
           &grant_type=client_credentials

Die API antwortet mit einer mit einer Abfragezeichenfolge formatierten Zeichenfolge des Formulars:

access_token=YOUR_APP_ID|YOUR_APP_ACCESS_TOKEN

Referenz: http://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

65
Avantaj Tvm

https://developers.facebook.com/docs/howtos/login/login-as-app/ :

„Da Sie dazu Ihr App-Geheimnis angeben müssen, sollten Sie nicht versuchen, diesen Anruf clientseitig zu tätigen, da dies für alle Ihre App-Benutzer ein Geheimnis darstellen würde. Es ist wichtig, dass Ihr App-Geheimnis niemals an Dritte weitergegeben wird. Aus diesem Grund sollte dieser Anruf serverseitig erfolgen. ”

Und für das App-Zugriffstoken gilt dasselbe: Sie sollten es niemals clientseitig verwenden , da jeder Benutzer es dort erkennen und dann damit beginnen könnte, Aktionen im Auftrag von auszuführen Ihre App (oder ändern Sie viele Einstellungen Ihrer App).

Wenn Sie einen serverseitigen Teil Ihrer Anwendung haben, können Sie den App-Zugriffstoken einfach selbst erstellen und die App-ID und das Geheimnis mit dem Pipe-Symbol app_id|app_secret verknüpfen.

46
CBroe

prüfen Sie, ob Benutzer der node.js oder des JAVASCRIPT.

getLongLiveToken: function(data){
    FB.api('oauth/access_token', {
        client_id: data.client_id, // FB_APP_ID
        client_secret: data.secret, // FB_APP_SECRET
        grant_type: 'fb_exchange_token',
        fb_exchange_token: data.access_token // USER_TOKEN
    }, function (res) {
        if (!res || res.error) {
            console.log(!res ? 'error occurred' : res.error);
        } else {
            var accessToken = res.access_token;
            if(typeof accessToken != 'undefined'){}
        }
    });
}
1
ankur

Sie können diesen Endpunkt POST auch verwenden, ohne das Token zu generieren. Stellen Sie nur sicher, dass es vom Server aus aufgerufen wird, nicht auf der Clientseite, wo das app_secret für public verfügbar ist:

https://graph.facebook.com/?id={url}&scrape=true&access_token={app_id}|{app_secret}
0
jasan

Ich bin nicht sicher, dass es eine gute Idee ist, das APP-Client-Geheimnis im Code offenzulegen. Sie können das APP-Token vom Facebook-Tool "Access Token Tool" nehmen. Kopieren Sie das Token einfach in Ihren Code, um Entwickler https: // zu verwenden .facebook.com/tools-and-support/

0
kimo