0

我正在尝试测试一个 Open Graph Facebook 操作,但在思考如何操作时遇到了麻烦。我使用此视频开始:http ://www.youtube.com/watch?v=8x6T7-WFSBg 。当我尝试运行代码(我已粘贴在下面)时,它给了我一个错误。我想我只是测试一下,看看我是否通过访问http://graph.facebook.com/me/APP_NAME得到正确的响应(app_name 当然被我的应用程序命名空间替换)。我得到了这个错误:

{
   "error": {
      "message": "An active access token must be used to query information about the current user.",
      "type": "OAuthException",
      "code": 2500
   }
}

我假设我无法测试我的操作的原因是因为没有活动的访问令牌?我发现的问题是我是应用程序的管理员,所以我假设我应该以任何一种方式访问​​。

这是使用的代码(来自该视频),以便对 Open Graph 操作进行简单的基本测试。请注意,我已将应用程序的信息替换为所有大写的单词。提前感谢您的帮助,我对 Open Graph 非常陌生,我只是想深入了解一下。也感谢您对我的耐心等待!

这是代码:

<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# APP_NAMESPACE: http://ogp.me/ns/fb/APP_NAMESPACE#">
  <meta property="fb:app_id" content="APP_ID" /> 
  <meta property="og:type"   content="APP_NAMESPACE:ACTION" /> 
  <meta property="og:url"    content="Put your own URL to the object here" /> 
  <meta property="og:title"  content="Sample ACTION" /> 
  <meta property="og:image"  content="https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png" /> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    </head>
    <body>

    <input type="button" value="test" onclick="javascript:postAction('ACTION', 'OBJECT', 'URL OF THIS PAGE');" />

     <script type="text/javascript">
    function postAction( action, object_type, object_url ){
        FB.api('/me/APP_NAMESPACE:' + action + '?' + object_type + '=' + object_url, 'post', function(response){
            if (!response || response.error) {
                    alert('Error occured');
            } else {
                alert('Post was successful! Action ID: ' + response.id);
            }
        });
    }
    </script>

    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId      : 'APP_ID', // 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>
    </body>
 </html>
4

1 回答 1

0

您需要使用应用程序对您的用户进行身份验证,请在此处查看更多信息:http ://hayageek.com/facebook-dialog-oauth/或通过 facebook dev http://developers.facebook.com/docs/concepts/login/

于 2013-03-13T12:28:40.230 回答