2012-03-01 11 views
0

自分のFacebookアプリのスコアを作成したいと思います。そのためにはapp_access_tokenが必要です。いくつかの記事が言う、app_access_tokenを取得するための唯一の方法は、このように、PHP経由で:facebook app_access_tokenを入手するには?

<?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) とacuallyあなたが直接

https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentialsを呼び出すことによって取得すると同じです。

なぜこの呼び出しをPHP経由で行う必要がありますか?

+0

アクセストークンが同じです。そのPHPスクリプトを使用してリクエストを作成し、アプリのアクセストークンを取得すると言うサイトは、間違っています。 –

+1

私は彼らが「app_access_tokenを取得する唯一の方法はPHP経由です」と言ったのは、サーバー側で取得する必要があるということです。これは、リクエストにあなたのアプリの秘密が必要で、プライベートにしておく必要があるからです。 –

答えて

1

あなたはでそれを得ることができるそれはURLを通じてトークンが返されますさまざまな方法

<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> 

でトークンを取得することができます

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(); 
関連する問題