Facebook应用程序内置JavaScript SDK未发布到时间线 我开发了一个脸谱网应用程序/独立网站,使用自定义对象和动作来支持利兹大学开放日。这是使用JavaScript SDK构建的

Facebook应用程序内置JavaScript SDK未发布到时间线 我开发了一个脸谱网应用程序/独立网站,使用自定义对象和动作来支持利兹大学开放日。这是使用JavaScript SDK构建的,javascript,facebook,facebook-graph-api,facebook-javascript-sdk,privacy,Javascript,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Privacy,以下是网址- 代码运行良好,可以发布到打开的图形,但只发布到该用户的配置文件,不会出现在时间线上 Facebook已经批准了我的显式共享请求,并且在应用程序设置中启用了这一功能,但是它似乎仍然没有像我预期的那样发布到用户时间线上 不过,帖子确实会出现在活动日志中 我已经在代码中添加了explict sharing参数,更改了默认的隐私设置,并在data_范围中启用了publish_操作 有没有人知道遗漏了什么,因为我看不出问题所在 感谢您的建议。非常感谢任何人在这方面提供的帮助 代码如下: &l

以下是网址-

代码运行良好,可以发布到打开的图形,但只发布到该用户的配置文件,不会出现在时间线上

Facebook已经批准了我的显式共享请求,并且在应用程序设置中启用了这一功能,但是它似乎仍然没有像我预期的那样发布到用户时间线上

不过,帖子确实会出现在活动日志中

我已经在代码中添加了explict sharing参数,更改了默认的隐私设置,并在data_范围中启用了publish_操作

有没有人知道遗漏了什么,因为我看不出问题所在

感谢您的建议。非常感谢任何人在这方面提供的帮助

代码如下:

<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>

//您可能不想使用globals,但这只是示例代码
var fbAppId='1471972309703879';
var objectToLikehttps://fbapps.leeds.ac.uk/recap.html';
/*
*这是用于初始化的样板代码
*FacebookJSSDK。您通常会设置
*此代码中的应用程序ID。
*/
//这里有额外的JS函数
window.fbAsyninit=函数(){
FB.init({
appId:1471972309703879,//应用程序ID
状态:true,//检查登录状态
cookie:true,//启用cookie以允许
//访问会话的服务器
xfbml:true,//解析xfbml或html5的页面
//下面的登录按钮等社交插件
版本:“v2.0”,//指定API版本
});
//在这里添加额外的初始化代码
};
//异步加载SDK
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
/*
*此函数调用og.likes API。这个
*对象参数是您喜欢的对象。其他类型
*API的类型可以采用其他参数。(也就是说,这本书
*API采用book=参数。)
*
*因为它是一个示例,所以它还设置了隐私
*参数,这样它将创建一个只有您
*我看得见。删除隐私参数和故事
*将对任何默认隐私都可见
*你添加了应用程序。
*
*还请注意,您可以查看id为的任何故事,如下所示
*用下面的代码演示。
*
*postLike()中使用的API:
*从JS调用图形API:
*   https://developers.facebook.com/docs/reference/javascript/FB.api
*开放图形og.API:
*   https://developers.facebook.com/docs/reference/opengraph/action-type/og.likes
*隐私论据:
*   https://developers.facebook.com/docs/reference/api/privacy-parameter
*/
函数postLike(){
FB.api(
“我/利兹开放日图片:享受”,
"岗位",,
{重述:https://fbapps.leeds.ac.uk/opendays/recap.html",
fb:显式共享=“true”,
隐私:{'value':'everybody'}},
功能(响应){
如果(!响应){
警报('发生错误');
}else if(response.error){
document.getElementById('result').innerHTML=
'请登录上面的Facebook,以便共享此页面';
}否则{
document.getElementById('result').innerHTML=
'';
}
}
);
}

这就是开放图的优点:D

打开的图表故事不会以状态发布,这是用户使用您的应用程序执行的活动。因此,这些故事作为应用程序活动捆绑在一起,而不是在时间线上发布状态,不必要地淹没时间线

因此,在您的时间线中,检查最近的活动部分(向下滚动一点,您会发现)-

但别担心,这个故事会在你和你朋友的墙上的一个大街区里分享(不管你设置了什么隐私设置)。要查看这个故事在墙上的样子,你可以查看你的墙本身,但如果你找不到它(有n个墙柱,可能很难找到一个)-

  • 单击上面屏幕截图中黄色标记的时间,或
  • 转到活动日志并单击时间-


下面是这篇文章的样子-


非常感谢Sahil。这真的很有帮助。通读大量文档,您的解释最有意义。:-)