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>