3

Facebook SDKで問題が発生しました。具体的には、アクセストークンを取得します。アプリはFacebookで正しく設定されており、許可されています。私の知る限り、コードは正しく、getAccessToken()で何が問題になっているのかわかりません。

$ facebook-> getAccessToken(); は「12345678|abcdefghijklmnop」を返します。これは基本的に、|で区切られたアプリIDとシークレットIDで構成されるある種の変数です。

$ facebook-> getUser(); ' 0 'を返しています

<?php
     require_once("facebook.php"); //Up-to-date SDK files from Git

     $app_id = "12345678"; //replaced with fake
     $app_secret = "abcdefghijklmnop"; //replaced with fake

     $facebook = new Facebook(array(
         'appId' => $app_id,
         'secret' => $app_secret,
         'cookie' => true; //I have tried 'false' here as well
     ));

     $token = $facebook->getAccessToken();
?>

前もって感謝します!

4

2 に答える 2

2

$facebook->getAccessToken();"12345678|abcdefghijklmnop"基本的に、| で区切られたアプリ ID とシークレット ID で構成されるある種の変数が返されます。

于 2013-01-29T09:36:22.573 に答える
1

Facebook SDK から:

  public function getAccessToken() {
    if ($this->accessToken !== null) {
      return $this->accessToken;
    }

    $this->setAccessToken($this->getApplicationAccessToken());
    $user_access_token = $this->getUserAccessToken();
    if ($user_access_token) {
      $this->setAccessToken($user_access_token);
    }

    return $this->accessToken;
  }

  protected function getApplicationAccessToken() {
    return $this->appId.'|'.$this->appSecret;
  }

アクセス トークンAPP ID|APP SECRETは、アプリケーション トークンである 、またはA RANDOM TOKEN HEREユーザーが署名した場合のユーザー アクセス トークンである になります。

$facebook->getUser();

getUser()戻るとき0( と同じfalseで、ユーザーが署名していない場合)、アプリケーションのログインと承認 (まだ承認されていない場合) を要求する必要があります。

if (!$facebook->getUser())
{
    $login_url = $facebook->getLoginUrl(array(
            'scope' => 'publish_stream' // Permissions goes here
        ) 
    );
?>
    <script type="text/javascript">
        top.location.href = " <?php echo $login_url; ?>";
    </script>
<?php
    exit;
}

ここで利用可能な権限の種類を参照してください: https://developers.facebook.com/docs/authentication/permissions/

于 2012-07-28T23:16:39.923 に答える