嵌入公共Facebook页面的活动源,而不强制用户登录/允许

时间:2014-10-30 18:31:12

标签: android facebook facebook-graph-api authentication embed

这类似于之前几次提出的问题,但无论我读什么,我仍然感到困惑。

我有一个公共Facebook页面,例如White Collar,我需要将其活动源嵌入到我的Android应用程序中。我理解如何获得app-id和app-secret,但我不了解如何获得短期访问令牌,我理解这是获取长期访问令牌所必需的。

根据我的理解,这很可能是错误的,用户必须通过应用程序登录才能获得短期访问令牌,但我不希望任何用户必须登录才能查看活动进料。

有了这个,我该如何使用它将此活动Feed添加到我的应用中?

Facebook的文档很糟糕,所以我需要一些帮助。

如果它或其他任何内容需要特定于站点的权限,我可以访问相关网站。

谢谢!

1 个答案:

答案 0 :(得分:14)

要获取公共Facebook页面的活动供稿,例如White Collar,请按以下步骤操作:

1)通过选择现有应用或在此网址创建新应用来获取您的App-id和App-secret:

https://developers.facebook.com/apps/

2)通过向此网址发送GET请求来获取访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=" + APP_ID + "&client_secret=" + APP_SECRET + "&grant_type=client_credentials

3)获取粉丝页面的页面ID。为此,您需要页面名称。转到Facebook上的粉丝页面查看网址。它将具有以下形式:

https://www.facebook.com/{fan-page-name}

完成后,请向此网址发出GET请求:

https://graph.facebook.com/{fan-page-name}?access_token={access-token}

它将返回一堆JSON。你正在寻找第一个“id”元素。这是您的网页ID。

4)使用GET请求获取粉丝页面JSON数据到此URL:

https://graph.facebook.com/" + page-id + "/feed?access_token=" + URLEncoder.encodeUTF8(access-token)

为避免抛出异常,我不得不使用URLEncoder.encodeUTF8(). 您要查找的数据位于“data”元素下。

我无法找到任何可以为我提供Facebook Feed的JSON解析,但我确实发现这个tutorial会为你做很多格式化,让它看起来像Facebook

希望能帮助其他人尝试这样做。