Facebook Like 按钮 + Phonegap

Posted

技术标签:

【中文标题】Facebook Like 按钮 + Phonegap【英文标题】:Facebook Like button + Phonegap 【发布时间】:2014-06-02 15:49:32 【问题描述】:

我正在尝试在我的 Phonegap (html + JS) 应用程序中使用 Facebook Like 按钮,但它不起作用。

如果我在浏览器中测试(本地测试),就会出现按钮。

但是当我使用 Phonegap BUild 构建它并在我的智能手机中运行它时,按钮没有显示。

我正在使用下面的代码:

<div class="fb-like" data-href="https://www.facebook.com/pages/Save-Points/293951217439051" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>

【问题讨论】:

我不会,除非 facebook 应用程序 WEBSITE URL 与您的应用程序 URL 相同。 @jeekonline 这应该不是问题,在本地测试中,我有一个不同的 URL,但 FB 之类的按钮仍然出现。此问题也类似于现有问题:***.com/questions/23871644/… 【参考方案1】:

当前实现点赞操作的方法是使用打开的图形对象og.like - FB 的文档here。需要注意的是,此方法需要用户的publish_actions 权限。让这一切顺利运行需要一些工作,但这是可能的。

phonegap-facebook-plugin 提供了指导here。以下是我的一些 cmets 的说明:

您的点赞按钮不得与 Facebook 的点赞按钮(以图形方式)相同

这意味着没有“竖起大拇指”符号 - 真是令人沮丧!

当您显示页面/按钮时,您必须首先调用 getLoginStatus 方法以了解当前用户是否连接到其 Facebook 帐户。如果他已连接,则使用 g3 返回的 Facebook 访问令牌调用 GET https://graph.facebook.com/me/og.likes?access_token=FB_ACCESS_TOKEN&object=URL_TO_LIKE。 etAccessToken 方法(如果此方法返回数据,则将喜欢的按钮设置为红色心形,如果调用返回空数组,则为灰色心形)。

除了检查用户是否登录之外,重申一下,您必须检查您的应用程序是否拥有该用户的publish_actions 权限。尽管您可能会在 Like 操作时请求此操作。

此外,该数组位于响应对象的data 属性中。如果您要检查用户是否喜欢此 URL,则基本上需要检查 response.data.length &gt; 0

要创建一个赞(当您的用户点击您的赞按钮并且您的赞按钮是灰色的心)在https://graph.facebook.com/me/og.likes?access_token=FB_ACCESS_TOKEN&object=URL_TO_LIKE 上发帖注意:您必须拥有 publish_actions 权限才能执行此操作

这样做后,该 URL 已成功被用户点赞,现在GET 方法将返回一个包含一个对象的数组。当用户已经喜欢该 URL 时调用它会导致错误。

要删除一个赞(当您的用户单击您的赞按钮并且您的赞按钮是一个红色的心时)在https://graph.facebook.com/LIKE_IDENTIFIER?access_token=FB_ACCESS_TOKEN 上执行删除。 LIKE_IDENTIFIER 从第 2 步或第 3 步返回。

like (DELETE) 方法与其他方法不同 - 它不是基于/me,您使用like id 而不是通过 URL 过滤。您可能必须调用前面描述的 GET 方法来获取 ID(执行 response.data[0].id)。

【讨论】:

以上是关于Facebook Like 按钮 + Phonegap的主要内容,如果未能解决你的问题,请参考以下文章

如何制作一个只是链接而不是 iFrame 的 Facebook“Like”按钮?

Blogger上的Facebook“Like”按钮

自定义简单的like按钮(不是facebook)

Facebook Like 按钮和应用程序 ID?

Facebook Like 按钮 + Phonegap

phonegap应用程序中的Facebook Like按钮?