简体   繁体   English

内置JavaScript SDK的Facebook应用未发布到时间轴

[英]Facebook app built in JavaScript SDK not posting to Timeline

I've developed a Facebook app / standalone website that uses a custom object and action to support the University of Leeds open days. 我已经开发了一个Facebook应用程序/独立网站,该网站使用自定义对象和操作来支持利兹大学的开放日。 This is built using the JavaScript SDK. 这是使用JavaScript SDK构建的。

Here is the URL - https://fbapps.leeds.ac.uk/opendays/recap.html 这是URL- https://fbapps.leeds.ac.uk/opendays/recap.html

The code works fine and posts to Open Graph, but only posts to that user's profile and doesn't appear on the Timeline. 该代码可以正常工作并将其发布到Open Graph,但仅发布到该用户的个人资料,并且不会显示在时间轴上。

Facebook have approved my request for explicit sharing and this is enabled in the app settings, however it still doesn't seem to post to a user Timeline as I would expect. Facebook已经批准了我的明确共享请求,并且已在应用程序设置中启用了该请求,但是它似乎并没有像我期望的那样发布到用户时间轴上。

The post does show up in Activity Log though. 该帖子确实显示在“活动日志”中。

I've added the explict sharing parameter to the code, changed the default privacy settings and enabled publish_actions in the data_scope. 我已经在代码中添加了explict共享参数,更改了默认隐私设置,并在data_scope中启用了publish_actions。

Does anyone have any idea what's missing please, as can't see to figure out the issue? 没有人知道缺少什么,因为看不出问题所在吗?

Any advice gratefully received. 非常感谢收到任何建议。 Many thanks for any help anyone can provide on this. 非常感谢任何人可以提供的任何帮助。

Here's the code: 这是代码:

<script type="text/javascript">
  // You probably don't want to use globals, but this is just example code
  var fbAppId = '1471972309703879';
  var objectToLike = 'https://fbapps.leeds.ac.uk/recap.html';

  /*
   * This is boilerplate code that is used to initialize
   * the Facebook JS SDK.  You would normally set your
   * App ID in this code.
   */

  // Additional JS functions here
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 1471972309703879, // App ID
      status     : true,    // check login status
      cookie     : true,    // enable cookies to allow the
                            // server to access the session
      xfbml      : true,     // parse page for xfbml or html5
                            // social plugins like login button below
      version    : 'v2.0',  // Specify an API version
    });

    // Put additional init code here
  };

  // Load the SDK Asynchronously
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

  /*
   * This function makes a call to the og.likes API.  The
   * object argument is the object you like.  Other types
   * of APIs may take other arguments. (i.e. the book.reads
   * API takes a book= argument.)
   *
   * Because it's a sample, it also sets the privacy
   * parameter so that it will create a story that only you
   * can see.  Remove the privacy parameter and the story
   * will be visible to whatever the default privacy was when
   * you added the app.
   *
   * Also note that you can view any story with the id, as
   * demonstrated with the code below.
   *
   * APIs used in postLike():
   * Call the Graph API from JS:
   *   https://developers.facebook.com/docs/reference/javascript/FB.api
   * The Open Graph og.likes API:
   *   https://developers.facebook.com/docs/reference/opengraph/action-type/og.likes
   * Privacy argument:
   *   https://developers.facebook.com/docs/reference/api/privacy-parameter
   */

  function postLike() {
    FB.api(
       'me/leedsopendaypics:enjoy',
       'post',
       { recap: "https://fbapps.leeds.ac.uk/opendays/recap.html",
         fb:explicitly_shared = "true",
         privacy: {'value': 'EVERYONE'} },
       function(response) {
         if (!response) {
           alert('Error occurred.');
         } else if (response.error) {
           document.getElementById('result').innerHTML =
             '<h3>Please log in to Facebook above so you can share this page</h3>';
         } else {
           document.getElementById('result').innerHTML =
             '<a href=\"https://www.facebook.com/me/activity/' +
             response.id + '\" target="_parent">' +
             '<h3>Thanks. That has now been shared.</h3></a>';
         }
       }
    );
  }
</script>

<!--
  Login Button

  https://developers.facebook.com/docs/reference/plugins/login

  This example needs the 'publish_actions' permission in
  order to publish an action.  The scope parameter below
  is what prompts the user for that permission.
-->

<div
  class="fb-login-button"
  data-show-faces="true"
  data-width="200"
  data-max-rows="1"
  data-scope="publish_actions"
  return_scopes="true">
</div>

<div>
<input
  type="button"
  class="button"
  value="Share this recap page on your Facebook Timeline"
  onclick="postLike();">
</div>

<div id="result"></div>

Well that's the good thing of the Open Graph :D 好吧,这就是Open Graph的好处:

The Open Graph Stories are not posted as the status , it's an activity that user has performed using your app. 未将开放图谱故事发布为状态 ,这是用户使用您的应用执行的一项活动。 So, these stories are bundled together as the app activities rather than posting a status on timeline and unnecessarily flooding the timeline. 因此,这些故事作为应用程序活动捆绑在一起,而不是在时间轴上发布状态并不必要地充斥时间轴。

So, in your timeline check for the Recent Activity section (scroll down a bit, you'll find that)- 因此,在时间轴中检查“ 近期活动”部分(向下滚动一下,您会发现)-

在此处输入图片说明

But don't worry this story is shared in a proper big block on your and your friend's wall (whatever privacy setting you've set). 但请不要担心,这个故事会在您和您朋友的墙上 (无论您设置了哪种隐私设置)都以适当的大块分享。 To check out how will this story look like on the wall you can check your wall itself, but if you're not able to find it (there are n number of wall posts, could be difficult to find one)- 要查看该故事在墙上的样子,您可以检查一下墙本身,但是如果您找不到它(墙上的帖子数量不多,可能很难找到一个)-

  • click on the time, yellow marked in the above screenshot, or 单击时间,在上面的屏幕截图中以黄色标记,或者
  • go to the Activity Log and click on the time- 转到活动日志 ,然后点击时间-

    在此处输入图片说明


And here's how the post will look like- 这是该帖子的外观-

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM