1

我真的在为 facebook api 苦苦挣扎。A 创建了一个应用程序、一个对象和一个操作,我想测试以在我的流中发布,(我知道公开发布必须由 facebook 授权,但作为我的应用程序的管理员,我可以测试它)。但它不工作。这是脚本:

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
  xmlns:fb="https://www.facebook.com/2008/fbml"> 
<head prefix="og: http://ogp.me/ns# subhinajjar: 
              http://ogp.me/ns/apps/subhinajjar#">
<title>OG Tutorial App</title>
<meta property="fb:app_id" content="452488354765730" /> 
<meta property="og:type" content="subhinajjar:article" /> 
<meta property="og:title" content="3eesho" /> 
<meta property="og:image" content="https://3eesho.com/public/admin/logo.png" /> 
<meta property="og:description" content="3eesho reading club" /> 
<meta property="og:url" content="https://3eesho.com/">

<script type="text/javascript">
function postreads()
{
  FB.api(
    '/me/subhinajjar:read?article',
    'post',
    { article: 'https://3eesho.com/articles/2346/-' },
    function(response) {
       if (!response || response.error) {
          alert('Error occured');
       } else {
          alert('read was successful! Action ID: ' + response.id);
       }
    });
 }
</script>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
  FB.init({
    appId      : '452488354765730', // App ID
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });
};

// Load the SDK Asynchronously
(function(d){
  var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
  js = d.createElement('script'); js.id = id; js.async = true;
  js.src = "//connect.facebook.net/en_US/all.js";
  d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>

<h3>Stuffed Cookies</h3>
<p>
<img title="3eesho reading club" 
     src="https://3eesho.com/public/admin/logo.png" 
     width="550"/>
</p>

<br>
<form>
<input type="button" value="read" onclick="postreads()" />
</form>

<fb:activity actions="subhinajjar:read"></fb:activity>

</body>
</html>

但我总是有这个消息:错误一致。这让我发疯。我希望是否有任何机构可以修改此代码给我。

4

1 回答 1

0

尝试将 API 调用的 URL 更改为FB.api:('/me/subhinajjar:read'即删除文章,因为无论如何您都会将其作为数据发布)。

response块中,提醒错误以查看将操作发布到 Facebook 时实际发生的情况。您的代码应如下所示:

function postreads()
{
  FB.api(
    '/me/subhinajjar:read',
    'post',
    { article: 'https://3eesho.com/articles/2346/-' },
    function(response) {
       if (!response || response.error) {
          // show the error
          alert( response.error );
       } else {
          alert('read was successful! Action ID: ' + response.id);
       }
    });
 }

如果这不起作用,请尝试使用内置读取操作:

  FB.api(
    '/me/news.reads',
    'post',
    { article: 'https://3eesho.com/articles/2346/-' },
    function(response) {
       if (!response || response.error) {
          // show the error
          alert( response.error );
       } else {
          alert('read was successful! Action ID: ' + response.id);
       }
    });
 }
于 2012-05-30T10:54:21.347 回答