Як атрымаць карыстальніка access_token, калі ў мяне ёсць яго/яе oauth_token?

Калі карыстальнік адкрывае мой палатно прыкладанне я атрымліваю signed_request з Facebook, з якога я выводзім user_id і oauth_token . Як я магу затым атрымаць access_token і праверыць/атрымаць правы доступу карыстальнікаў і іншыя дадзеныя?

4

3 адказы

Вы кажаце oauth_token таксама карыстальнікі access_token, яны павінны быць дакладна такімі ж.

Для праверкі карыстальнікаў правоў доступу вы можаце зрабіць 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"
    }
  ]
}

Depending on what the other data you wish to access you will need to ask for more permissions and then call the appropriate API end points. For example to get the users basic information make a call to /me or to get a list of their friends /me/friends

You can find all the permissions you can ask for at https://developers.facebook.com/docs/reference/api/permissions/

And all the information about where to call in the API for retrieving the different bits of data you require here https://developers.facebook.com/docs/reference/api/

5
дададзена

Калі вы кажаце, што іх «OAuth маркер» - вы ўпэўненыя, што не маркер доступу? Вы можаце паспрабаваць зрабіць выклік API для /Me/дазволаў з гэтым маркерам і паглядзець, калі ён працуе? Ён павінен вяртаць спіс дазволаў карыстальнік прадастаўленых прыкладання (якія могуць выкарыстоўвацца з дапамогай гэтага маркераў)

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 .= "\n";
$user_xml .= "\n";
$user_xml .= "" . $access_token . "\n"; 
$user_xml .= "\n";
$user_xml .= "\n";
echo $user_xml; 



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




?>
1
дададзена