private string PostFacebookWall(string accessToken, string message)
{
var responsePost = "";
try
{
//create the facebook account object
var objFacebookClient = new FacebookClient(accessToken);
var parameters = new Dictionary<string, object>();
parameters["message"] = message;
responsePost = objFacebookClient.Post("feed", parameters).ToString();
}
catch (Exception ex)
{
responsePost = "Facebook Posting Error Message: " + ex.Message;
}
return responsePost;
}
这是我用于发布的方法。 几个小时前我创建了访问令牌,它没有问题我可以在墙上发布消息没问题。
现在它向驼峰逼近并抛出异常:
(OAuthException - #190) Error validating access token: Session has expired on 12 פברואר 2014 09:00. The current time is 12 פברואר 2014 14:27.
Facebook.FacebookOAuthException was caught
HResult=-2146233088
Message=(OAuthException - #190) Error validating access token: Session has expired on 12 פברואר 2014 09:00. The current time is 12 פברואר 2014 14:27.
Source=Facebook
ErrorCode=190
ErrorSubcode=463
ErrorType=OAuthException
StackTrace:
at Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper, String responseString, Type resultType, Boolean containsEtag, IList`1 batchEtags)
at Facebook.FacebookClient.Api(HttpMethod httpMethod, String path, Object parameters, Type resultType)
at Facebook.FacebookClient.Post(String path, Object parameters)
at ScrollLabelTest.Form1.PostFacebookWall(String accessToken, String message) in e:\scrolllabel\ScrollLabel\ScrollLabel\Form1.cs:line 266
InnerException:
有没有办法永远获得访问令牌?所以它不会再过期了吗?
答案 0 :(得分:1)
所谓的短暂访问令牌,在两小时后过期,以及所谓的长期访问令牌,在60天后过期。没有办法接收不到期的!
保证您使用的是短期访问令牌。
所以这里的文档https://developers.facebook.com/docs/facebook-login/access-tokens/#termtokens和https://developers.facebook.com/docs/facebook-login/access-tokens/#extending这里的文档可以看到如何将短命的文章交换为长寿文本。