0

我想为我的 Facebook 应用程序创建一个分数,并且我知道您需要一个 app_access_token。有些帖子说,获取 app_access_token 的唯一方法是通过 PHP,如下所示:

    <?php

$APPLICATION_ID = YOUR_APP_ID;
$APPLICATION_SECRET = YOUR_APP_SECRET;

$token_url =    "https://graph.facebook.com/oauth/access_token?" .
            "client_id=" . $APPLICATION_ID .
            "&client_secret=" . $APPLICATION_SECRET .
            "&grant_type=client_credentials";
$app_token = file_get_contents($token_url);

?>

您通过此 PHP 脚本获得的令牌与您在其上找到的所谓“应用程序令牌”不同吗?

https://developers.facebook.com/tools/access_token/

(看起来像这样APPLICATION_ID|lvATVyhp1m.............w:)并且实际上与您通过调用获得的相同

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentials直接地。

那么为什么必须通过 PHP 进行这个调用呢?

4

1 回答 1

1

您可以通过多种方式获取token

<a href='https://www.facebook.com/dialog/oauth?client_id=2926561407xxxxx&redirect_uri=http://localhost:8080/fb/getCode.html&rcount=1&scope=email,read_stream'>Login</a>

它将通过 URL 返回令牌,您可以通过以下方式获取它:

function getURLParameters(access_token) 
{
    var sURL = window.document.URL.toString();
    if (sURL.indexOf("?") > 0)
    {
    var arrParams = sURL.split("?"); 
    var arrURLParams = arrParams[1].split("&"); 
    var arrParamNames = new Array(arrURLParams.length);
        var arrParamValues = new Array(arrURLParams.length);     
        var i = 0;

        for (i=0;i<arrURLParams.length;i++)
        {
            var sParam =  arrURLParams[i].split("=");
            arrParamNames[i] = sParam[0];

            if (sParam[1] != "")
              arrParamValues[i] = unescape(sParam[1]);
            else
              arrParamValues[i] = "No Value";
        }

        for (i=0;i<arrURLParams.length;i++)
        {
          if(arrParamNames[i] == "code")
          {
            code = arrParamValues[i];
            return arrParamValues[i];
          }
        }

        return "No Parameters Found";
    }
}
getURLParameters();
于 2012-03-01T09:13:40.033 回答