使用js sdk执行facebook动作

时间:2012-11-28 04:57:18

标签: javascript facebook

我正在尝试在我的脸书应用中执行'推荐'动作。 我的index.html页面中的代码是

  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# aspxtesting: http://ogp.me/ns/fb/aspxtesting#">
    <meta property="fb:app_id" content="539397469421547" />
    <meta property="og:type" content="item" />
    <meta property="og:url" content="http://localhost:4816/SageFrame/recommend.html" />
    <meta property="og:title" content="Sample Item" />
    <meta property="og:image" content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" />
</head>
<div id="fb-root">
</div>
<div>
    <input type="button" runat="server" class="recommend" id="btnrecommend" value="recommend" />
</div>

<script type="text/javascript">
    window.fbAsyncInit = function() {
        FB.init({
            appId: '539397469421547', // 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', ref = d.getElementsByTagName('script')[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
$('.recommend').click(function(){
FB.api('https://graph.facebook.com/me/aspxtesting:recommend?Item=http://localhost:4816/SageFrame/recommend.html&access_token=' + access_token + '', 'post', function(response) {
                if (!response || response.error) {
                    debugger;
                }
});
    } (document));

接下来我有像

这样的recommended.html页面
  <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# fb: http://ogp.me/ns/fb# aspxtesting: http://ogp.me/ns/fb/aspxtesting#">
  <meta property="fb:app_id" content="539397469421547" /> 
  <meta property="og:type"   content="item" /> 
  <meta property="og:url"    content="http://localhost:4816/SageFrame/recommend.html" /> 
  <meta property="og:title"  content="Sample Item" /> 
  <meta property="og:image"  content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" /> 
  </head>
  <body></body>
  </html>

但是我得到了错误 您尝试发布的操作无效,因为它未指定任何引用对象。必须至少指定以下属性之一:item。

1 个答案:

答案 0 :(得分:1)

在Facebook的旁边对象Itemitem上,您的操作配置中的项目名称是? - 您在使用Facebook的API时遇到Item,但它可能应该是item

此外,您的og:url设置为本地网址,但由于Facebook的抓取工具无法访问指定的网址,因此该网址无法正常工作 - 如果网址不存在在Facebook's Debug Tool工作,它无法为您尝试发布的行为

工作