【问题标题】:How to renew Facebook access token using its C# SDK如何使用其 C# SDK 更新 Facebook 访问令牌
【发布时间】:2012-06-17 02:41:30
【问题描述】:

我正在使用 Facebook C# SDK 来获取尽可能多的数据,例如帖子,cmets,用户信息,尽可能来自 Facebook,但我的程序在我的访问令牌在一段时间后过期后停止,我必须重新启动程序。我从the Facebook developer tools 获得了访问令牌,但如何更新令牌?在http://csharpsdk.org/docs/web/handling-expired-access-tokens是TOTO。

【问题讨论】:

  • 如果您使用应用令牌访问数据,请查看this

标签: facebook facebook-c#-sdk


【解决方案1】:

这是我用来获得更长过期令牌的方法

FacebookClient fbcl = new FacebookClient(atoken);
fbcl.AccessToken = //your short access token;
fbcl.AppId = //your app id;
fbcl.AppSecret = // your app secret;

//try to get longer token
try
{
    dynamic result= fbcl.Get("oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=" + atoken);
    atoken = result.access_token;
}
catch
{
    dynamic result= fbcl.Get("oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=" + atoken);
    atoken = result.access_token;
}

有时这会发出诸如“无法与 FB 建立安全 SSL 连接”之类的错误。所以我再次尝试捕捉。也许你可以解决这个问题并帮助我:) 干杯

【讨论】:

    【解决方案2】:

    这对我有用:

    public static string RefreshAccessToken(string currentAccessToken)
    {
            FacebookClient fbClient = new FacebookClient();
            Dictionary<string, object> fbParams = new Dictionary<string, object>();
            fbParams["client_id"] = "your app id";
            fbParams["grant_type"] = "fb_exchange_token";
            fbParams["client_secret"] = "your client secret";
            fbParams["fb_exchange_token"] = currentAccessToken;            
            JsonObject publishedResponse = fbClient.Get("/oauth/access_token", fbParams) as JsonObject;
            return publishedResponse["access_token"].ToString(); 
    }
    

    【讨论】:

      【解决方案3】:

      我终于用offline_access权限破解了这个问题,你可以先参考这个:http://operatorerror.org/2011/07/get-a-facebook-api-access-token-that-never-expires/ ,您将知道如何获取永不过期的 Facebook API 访问令牌。

      接下来,如果遇到无法检查offline_access权限的问题,可以参考这个:offline_access permission not present in Graph api explorer in facebook graph api

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      相关资源
      最近更新 更多