Графики доступа API Explorer токены против FB C # SDK приложения токены доступа - PullRequest
0 голосов
/ 23 февраля 2012

Graph API Explorer генерирует токен доступа, длина которого обычно составляет 118 символов, тогда как токен, возвращаемый FacebookOAuthClient (). GetApplicationAccessToken () намного меньше и имеет меньше прав для таких вещей, как выполнение FQL, даже с некоторыми расширенными атрибутами. выбран.

Может кто-нибудь объяснить, как я могу получить токен, аналогичный токену Graph API Explorer, используя FB C # SDK?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012
<?php
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$post_login_url = "http://YOUR_URL/THIS_FILE.php";

//Obtain the access_token with publish_stream permission 
if(empty($_REQUEST['code'])){ 
    $dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" .  $app_id 
. "&redirect_uri=" . urlencode( $post_login_url)
.  "&scope=publish_stream";
echo("<script>top.location.href='" . $dialog_url 
. "'</script>");
}
else {
$code = $_REQUEST['code'];
$token_url="https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id 
. "&redirect_uri=" . urlencode( $post_login_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$response = file_get_contents($token_url);
    $params = null;
    parse_str($response, $params);
    $access_token = $params['access_token'];

    setcookie("FBCode", $access_token);
}
?>

Был рабочим решением для меня. Я сохраняю свой access_token в cookie и анализирую его в приложении Silverlight 5 In-Browser.

0 голосов
/ 23 февраля 2012

Согласно самой последней документации по C # SDK, они рекомендуют получать токен с помощью Facebook JavaScript SDK с помощью getLoginStatus () или login (). Затем отправьте этот токен доступа через https через AJAX обратно на сервер для обработки кода C # и сохранения в сеансе (или другом хранилище данных).

...