几天来,我一直在努力让 Facebook C# SDK 作为页面发布到我的页面。
从我的谷歌搜索中,我发现该过程应如下所示:
manage_pages
为我的用户帐户授权申请publish_stream
(通过此 URL 完成:https ://graph.facebook.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=publish_stream,manage_pages )- 获取用户访问令牌
- 将用户访问令牌交换为长期访问令牌
me/accounts
使用长寿命用户访问令牌获取- 从结果中获取页面访问令牌
page_id/feeds
使用长寿命令牌发布到端点
我可以通过图形资源管理器遵循这个过程,它可以工作。使用生成的令牌在页面上创建一个帖子。
如何使用 C# SDK 执行此操作?
我试过了:
dynamic userTokenResult = client.Get("oauth/access_token", new
{
client_id = appid,
client_secret = appsecret,
grant_type = "client_credentials"
});
dynamic longLivedResult = client.Get("oauth/access_token", new
{
client_id = appid,
client_secret = appsecret,
grant_type = "fb_exchange_token",
fb_exchange_token = userTokenResult.access_token;
});
client.AccessToken = longLivedResult.access_token;
// Post the message
dynamic messagePost = new
{
link = message.LinkUrl,
name = message.LinkName,
caption = message.LinkCaption,
description = message.LinkDescription,
message = message.Message
};
// Set the status
var postId = client.Post("pagename/feed", messagePost);
但是,我怀疑这是返回应用程序 access_token,而不是用户 access_token(它在 GET:me/accounts 处失败)。