我试图在我的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>
答案 0 :(得分:1)
实现类似操作的当前方法是使用开放图形对象og.like
- FB的文档here。请注意,此方法需要用户publish_actions
权限,这一点很重要。让这一切顺利进行是一项工作,但这是可能的。
phonegap-facebook-plugin提供了指南here。以下是我的一些评论说明:
- 您喜欢的按钮不能与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
属性中。如果您要检查用户是否喜欢此网址,您基本上要检查response.data.length > 0
。
- 要创建类似内容(当您的用户点击“赞”按钮时,您的“喜欢”按钮是灰心)请在https://graph.facebook.com/me/og.likes?access_token=FB_ACCESS_TOKEN&object=URL_TO_LIKE上执行POST操作注意:您必须具有publish_actions权限才能执行此操作
执行此操作后,用户已成功使用该URL,现在GET
方法将返回包含一个对象的数组。当用户已经喜欢该URL时调用此方法将导致错误。
- 要删除类似内容(当您的用户点击“赞”按钮而您的“喜欢”按钮为红色心脏时),请在https://graph.facebook.com/LIKE_IDENTIFIER?access_token=FB_ACCESS_TOKEN上执行删除操作。 LIKE_IDENTIFIER从步骤2或3返回。
不同的(DELETE
)方法与其他方法不同 - 它不是基于/me
,而是通过URL过滤,您使用类似的ID。您可能需要调用之前描述的GET
方法来获取ID(执行response.data[0].id
)。