图形API资源管理器访问令牌与FB C#SDK应用程序访问令牌

时间:2012-02-22 20:26:48

标签: facebook-c#-sdk access-token facebook-access-token

Graph API Explorer生成一个访问令牌,其长度通常为118个字符,而FacebookOAuthClient()。GetApplicationAccessToken()返回的令牌要少得多,即使使用某些扩展属性,执行FQL的权限也会少一些选择。

任何人都可以解释如何使用FB C#SDK获取类似于Graph API Explorer令牌的令牌吗?

2 个答案:

答案 0 :(得分:0)

根据C#SDK的最新文档,他们建议使用getLoginStatus()或login()使用Facebook JavaScript SDK获取令牌。然后通过AJAX将访问令牌通过https发送回服务器,以便C#代码在会话(或其他数据存储)中处理和存储。

答案 1 :(得分: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浏览器中解析它。