我已经阅读了很多关于如何在没有登录的情况下处理发布到FB的帖子 - 特别是在我的实例中到托管页面,一些使用已经废除的“offline_access”方法,其他一些与令牌有关。
我已经从图表API中创建了一个令牌 - https://developers.facebook.com/tools/explorer
我还在一些代码中创建了一个小测试,例如
FacebookClient fb = new FacebookClient("Access_Token"]);
Dictionary<string, object> argList = new Dictionary<string, object>();
argList["message"] = "my message";
fb.Post("mypage/feed", argList);
这可以完美地按预期运行并发布到相关的页面墙。但是,如果我退出Facebook,它就不起作用,反过来又会引发错误。
Facebook.FacebookOAuthException: (OAuthException - #190)
Error validating access token: This may be because the user logged out
当我在https://developers.facebook.com/tools/explorer区域中正确设置权限时,我很难理解为什么会发生这种情况,例如“publish_stream”,“manage_pages”等。
我甚至已经将令牌分配给我创建的应用程序,这仍然没有帮助。
有没有人在C#中有一个例子说明当你没有登录时如何发布?
提前致谢,
契约。
答案 0 :(得分:0)
可能是因为访问令牌验证已过期,如果您有用于生成访问令牌的应用程序ID和密钥,则可以使用以下代码将访问令牌验证期延长至60天。
public string exchange_access_token(string actoken)
{
var fb = new FacebookClient();
dynamic result = fb.Get("oauth/access_token", new
{
client_id = "xxxxxxxxx",
client_secret = "xxxxxxxxxxxx",
grant_type = "fb_exchange_token",
fb_exchange_token = actoken
});
return result;
}
但如果你没有应用程序细节,你就无法做到这一点......