【问题标题】:Graph API Explorer Access Tokens vs. FB C# SDK Application Access TokensGraph API Explorer 访问令牌与 FB C# SDK 应用程序访问令牌
【发布时间】:2012-03-13 05:31:18
【问题描述】:

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

谁能解释我如何使用 FB C# SDK 获得类似于 Graph API Explorer 令牌的令牌?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:
      <?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 App 中解析它。

      【讨论】:

        猜你喜欢
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        • 2012-04-12
        • 1970-01-01
        • 2017-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多