Javascript 无法测试Facebook打开图形操作
我正试图测试一个开放图Facebook的行为,但我很难思考如何去做。我使用此视频开始:。当我试图运行代码(我在下面粘贴了代码)时,它会给我一个错误。我想我应该去测试一下,看看是否得到了正确的响应(当然,app_名称将替换为我的apps名称空间)。但我得到了这个错误:Javascript 无法测试Facebook打开图形操作,javascript,facebook,facebook-javascript-sdk,facebook-opengraph,Javascript,Facebook,Facebook Javascript Sdk,Facebook Opengraph,我正试图测试一个开放图Facebook的行为,但我很难思考如何去做。我使用此视频开始:。当我试图运行代码(我在下面粘贴了代码)时,它会给我一个错误。我想我应该去测试一下,看看是否得到了正确的响应(当然,app_名称将替换为我的apps名称空间)。但我得到了这个错误: { "error": { "message": "An active access token must be used to query information about the current user.",
{
"error": {
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
}
}
我假设我无法测试我的操作的原因是因为没有活动的访问令牌?但我发现的问题是,我是该应用程序的管理员,所以我认为我应该以任何方式访问该应用程序
下面是使用的代码(来自该视频),以便对开放图形操作进行简单的基本测试。请注意,我已将应用程序的信息替换为所有大写字母。提前谢谢你的帮助,我对开放图表非常陌生,我只是想深入了解一下。谢谢你对我的耐心
代码如下:
<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>
函数postAction(操作、对象类型、对象url){
api('/me/APP_名称空间:'+action+'?'+object_type+'='+object_url,'post',函数(响应){
如果(!response | | response.error){
警报(“发生错误”);
}否则{
警报(“发布成功!操作ID:”+响应.ID);
}
});
}
window.fbAsyninit=函数(){
FB.init({
appId:'APP_ID',//APP ID
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
};
//异步加载SDK
(职能(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);
}(文件);
您需要使用应用程序验证您的用户
查看此处了解更多信息:或通过facebook dev尝试提供访问令牌。我在哪里可以找到我的访问令牌?您可以将其作为FB.login的响应。看文档好吧,我假设我是管理员,不需要访问令牌?