【问题标题】:Posting to a Facebook Page using the Graph API - returns ID but doesn't appear使用 Graph API 发布到 Facebook 页面 - 返回 ID 但不显示
【发布时间】:2011-06-20 02:32:34
【问题描述】:

我正在尝试使用 Facebook C# SDK 发布到 Facebook 页面流,但我失败了。这是我的代码的样子:

var app = new Facebook.FacebookApp(_accessToken);
var parameters = new Dictionary<string, object>
     {
         { "message" ,  promotionInfo.TagLine },
         { "name" ,  promotionInfo.Title },
         { "description" ,  promotionInfo.Description },
         { "picture" ,  promotionInfo.ImageUrl.ToString() },
         { "caption" ,  promotionInfo.TargetUrl.Host },
         { "link" ,  promotionInfo.TargetUrl.ToString() },
         { "type" , "link" }
     };
var response = app.Post(_targetId + "/feed", parameters);

我已经检查过了,我可以看到 Fiddler 中的请求通过 Facebook,我得到了一个 ID - 但是,当我尝试在 http://graph.facebook.com/[parentid]_[postid] 上查看该 ID 时

我只是得到一个带有“假”的页面,并且帖子也没有出现在 Facebook 页面本身上。如果我只是输入一个不存在的随机 postid,我会得到“您请求的某些别名不存在”。

accessToken被授权使用publish_stream和离线访问(使用this url生成)

有什么想法可能会出错吗?谢谢

更新我应该补充一下,如果我将 _targetId 更改为“我”(即直接发布到我自己的个人资料页面),这可以正常工作

【问题讨论】:

  • 我遇到了同样的问题,它在我的 facebook 墙上和我们网站的一些用户墙上发布,但在其他人上却失败了

标签: c# facebook facebook-graph-api facebook-c#-sdk


【解决方案1】:

这只是一个想法,但在获得read_stream扩展权限后尝试。

我从经验中知道,您可以使用返回的 ID 删除帖子,但如果没有 read_stream,我认为您无法检索它(以及更有趣的东西,例如 cmets)

【讨论】:

  • 不幸的是,这似乎不是。奇怪的是相同的代码可以正常发布到我自己的个人资料页面......
【解决方案2】:

【讨论】:

    【解决方案3】:

    要发布到 Facebook 页面,您需要请求 manage_pages 权限。 你也必须使用 PAGE access_token 而不是 User access_token。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多