0

Graph API エクスプローラーは、通常 118 文字の長さのアクセス トークンを生成しますが、FacebookOAuthClient().GetApplicationAccessToken() によって返されるトークンははるかに少なく、特定の拡張属性が選択されていても FQL を実行するなどの権限はほとんどありません。

FB C# SDK を使用して、Graph API Explorer トークンに似たトークンを取得する方法を誰か説明できますか?

4

2 に答える 2

0

C# SDK の最新のドキュメントによると、getLoginStatus() または login() を使用して Facebook JavaScript SDK を使用してトークンを取得することを推奨しています。次に、AJAX によって https を介してそのアクセス トークンをサーバーに送信し、C# コードを処理してセッション (または他のデータ ストア) に保存します。

于 2012-02-22T21:06:51.673 に答える
0
<?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 アプリで解析します。

于 2012-02-23T15:45:19.837 に答える