【问题标题】:Get page feed from Facebook public page Android从 Facebook 公共页面 Android 获取页面提要
【发布时间】:2015-10-18 11:11:04
【问题描述】:

我正在尝试从 Facebook 的公共页面获取页面提要列表到我的 Android 应用程序中。

我有该页面的页面 ID 和 access_token。我正在尝试使用以下 url 通过请求获取提要:-

"https://graph.facebook.com/page_id/feed?access_token=sometoken"

但是执行上述操作会给我以下错误:-

Tried accessing non existent field (feed) on node type (Open Graph Object)

我也从 Google chrome 的 Postman 扩展中尝试过。给我同样的错误。

我该如何解决这个问题?任何帮助将不胜感激。

【问题讨论】:

  • @JustAnotherDotNetDev 出于安全原因,我在问题中的“sometoken”中有 ut。我原来在网址里有它
  • @JustAnotherDotNetDev 你不应该公开发布任何访问令牌!

标签: android facebook facebook-graph-api feed


【解决方案1】:

如果 page-id 是一个数字值,您可能会得到错误的值。

您可能想尝试使用以下任一解决方案:-

1) 使用页面用户名而不是数字页面 ID。

2) 用帖子替换提要。

类似这样的:-

"https://graph.facebook.com/page-username/posts?access_token=sometoken"

【讨论】:

  • @helloworld,你是如何获得 access_token 的?我所做的一切似乎都不起作用。
  • @craned 只需创建一个 url 来获取访问令牌,如下所示:- string accessTokenUrl = "graph.facebook.com/oauth/access_token?client_id=" + ) + "&client_secret=" + + " &grant_type=client_credentials"; var access_token = 等待 FetchPageDetails(accessTokenUrl);你可以在这里找到 FetchPageDetails() pastebin.com/xRVkQqQG
  • sometoken 可能应该包裹在 URLEncoder.encodeUTF8(sometoken) 中,否则将不允许使用属于 access_token 的管道。
  • 从哪里可以找到访问令牌
【解决方案2】:

对我来说,错误消息暗示您使用的page_id 不是真正的page_id。您在请求中用真实的数字 id 替换它,对吗?如果object_id 是一个页面,则该请求应该可以工作。

您可以使用

检查object_id 的类型
/{object_id}?metadata=1&fields=id,name,metadata{type}

例如,可口可乐页面

/40796308305?metadata=1&fields=id,name,metadata{type}

返回

{
  "id": "40796308305",
  "name": "Coca-Cola",
  "metadata": {
    "type": "page"
  }
}

【讨论】:

  • 完全正确;错误消息显示on node type (Open Graph Object) 的事实表明该 id 不是 Facebook 页面,而是外部 URL。
猜你喜欢
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 2012-06-19
  • 2015-06-09
  • 1970-01-01
相关资源
最近更新 更多