4

ユーザーがキャンバス アプリを開くと、Facebook から が取得され、そこからandsigned_requestが派生します。次に、ユーザー権限やその他のデータを取得して確認/取得するにはどうすればよいですか?user_idoauth_tokenaccess_token

4

3 に答える 3

5

あなたが話しているoauth_tokenは、ユーザーaccess_tokenでもあり、まったく同じである必要があります。

ユーザーの権限を確認するには、/ me / permitsにGET呼び出しを行うことができます。これにより、次のようなデータ配列が返されます。

{
  "data": [
    {
      "installed": 1, 
      "read_stream": 1, 
      "manage_notifications": 1, 
      "manage_pages": 1, 
      "user_likes": 1, 
      "user_activities": 1, 
      "user_interests": 1, 
      "user_photos": 1, 
      "user_about_me": 1, 
      "type": "permissions"
    }
  ]
}

アクセスしたい他のデータに応じて、追加の権限を要求してから、適切なAPIエンドポイントを呼び出す必要があります。たとえば、ユーザーの基本情報を取得するには、電話をかけ/meたり、友達のリストを取得したりします/me/friends

https://developers.facebook.com/docs/reference/api/permissions/で要求できるすべての権限を見つけることができます

また、必要なさまざまなデータを取得するためにAPIを呼び出す場所に関するすべての情報は、https://developers.facebook.com/docs/reference/api/にあります。

于 2011-11-01T18:31:44.430 に答える
1

あなたが彼らの「oauthトークン」を持っていると言うとき-あなたはそれがアクセストークンではないことを確信していますか?/me/permissionsそのトークンを使用してAPI呼び出しを行い、それが機能しているかどうかを確認できますか?ユーザーがアプリに付与した権限のリストを返す必要があります(そのトークンを介して使用できます)

于 2011-11-01T18:08:52.433 に答える
-1
    <?php
include '../../src/config.php';
// Get User ID
$user = $facebook->getUser();

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
  $access_token = $facebook->getAccessToken();
$user_xml = "<?xml version=\"1.0\"?>\n"; 
$user_xml .= "<roots>\n";
$user_xml .= "<access>\n";
$user_xml .= "<token>" . $access_token . "</token>\n"; 
$user_xml .= "</access>\n";
$user_xml .= "</roots>\n";
echo $user_xml; 



} else {
  $loginUrl = $facebook->getLoginUrl();
}




?>
于 2011-11-07T15:23:23.730 に答える