javascript - 我的网站的 Facebook checkin 按钮

标签 javascript facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk

我正在尝试为我的网站实现“ checkin ”按钮。主要目的:当用户单击该按钮时,将打开一个 Facebook 共享对话框,并在自定义位置检查用户。用户帖子不会自动发布,消息也不会被设置,以免违反 Facebook 政策。 据我所知,Facebook Open Graph 故事可能会发生这种情况。我添加了“地点”选项作为开放图对象类型。我知道要执行此操作,我的应用程序需要“publish_actions”权限,并且我的应用程序处于开发人员模式,所以这不是问题。我使用 Facebook Javascript SDK。所以代码是这样的:

这是 OG 标记(由 facebook 提供):

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# place: http://ogp.me/ns/place#">
  <meta property="fb:app_id"                content="my-app-id" /> 
  <meta property="og:type"                  content="place" /> 
  <meta property="og:url"                   content="my-url" /> 
  <meta property="og:title"                 content="my-place-name" /> 
  <meta property="og:image"                 content="sample-url-image" /> 
  <meta property="place:location:latitude"  content="Sample Location: Latitude" /> 
  <meta property="place:location:longitude" content="Sample Location: Longitude" /> 

这是调用共享对话框的函数(也由 facebook 提供):

function share()
{
    FB.api(
      'me/objects/place',
      'post',
      {'object': {
        'og:url': 'my-url',
        'og:title': 'my-place-name',
        'og:type': 'place',
        'og:image': 'sample-url-image',
        'og:description': '',
        'fb:app_id': 'my-app-id',
        'place:location:latitude': 'Sample Location: Latitude',
        'place:location:longitude': 'Sample Location: Longitude'
      }},

     function(response) {
        // handle the response
        // for example (using Jquery)
        $('#element').append('shared');
      }
    );
}

这就是函数的调用方式:

<span onclick="share()">click to share</span>
<div id="element"></div>

问题是代码不起作用并且共享对话框无法打开。我的错误在哪里?

最佳答案

最后我将其创建为共享按钮。可以选择检查它是否真的已发布,而不是之后取消。

FB.ui({
    method: 'share',
    mobile_iframe: true,
    title: 'My title',
    href: 'url to share',
    picture: 'image URL',
   description: 'The description'
    }, function (response) {
   if (response && !response.error_message) {
    alert('Thank you for sharing!');
    } else {
    alert('You have cancelled the share.');
   }
  });
},{scope: 'email'});

关于javascript - 我的网站的 Facebook checkin 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724562/

相关文章:

javascript - JS 中判断一个数是否为回文数

ios - FBSDKGraphRequest 登录后不重定向到应用程序

IOS Facebook Auth - 保持好友列表更新

asp.net-mvc - Facebook Javascript 登录示例

facebook - FB 选项卡应用程序在新窗口中打开,而不是在 iframe 中打开 [Firefox 6]

java - 如何使用 Jersey Client 将 HTTP 400 响应解析为 Java 类?

ios - 获取 Facebook 的应用程序链接托管 API

javascript - 使用 JavaScript 映射嵌套数组

javascript - 如何获取数据表列的名称?

javascript - JQM : Why does the same jQuery selector return a different number of elements depending on the current page?