【问题标题】:Facebook Like button + PhonegapFacebook Like 按钮 + 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 之类的按钮仍然出现。此问题也类似于现有问题:stackoverflow.com/questions/23871644/…

标签: facebook cordova facebook-like phonegap-build


【解决方案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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多