gpt4 book ai didi

facebook - 使用 Javascript sdk 在 Facebook 墙上发帖

转载 作者:行者123 更新时间:2023-12-04 05:19:35 27 4
gpt4 key购买 nike

所以,我正在尝试使用 fb.api 在用户墙上发帖,但我被卡住了。
这是我的代码:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"><head><meta http-           equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Example Of Posting To Wall Using Javascript Graph API</title>
<script type="text/javascript" src=""></script>
</head>
<body class="">
//the facebook sdk include
<div id="fb-root" class=" fb_reset">
<script>
var APP_ID="myAppID";

window.fbAsyncInit = initFacebook;

function initFacebook()
{
FB.init({
appId : APP_ID,
status : true, // check login status
cookie : false, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});

FB.getLoginStatus(onFacebookLoginStatus);
};

(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
//the login function
function facebookLogin()
{
var loginUrl="http://www.facebook.com/dialog/oauth/?"+
"scope=publish_stream&"+
"client_id="+APP_ID+"&"+
"redirect_uri="+document.location.href+"&"+
"response_type=token";
window.location=loginUrl;
}


//Callback function for FB.login
function onFacebookLoginStatus(response)
{
if (response.status=="connected" && response.authResponse)
{
document.getElementById("txtEcho").innerHTML="Logged in.";

}
else
{
document.getElementById("txtEcho").innerHTML="Not logged in.";
}

}


//post to wall function
function postToWallUsingFBApi()
{
var data=
{
caption: 'This is my wall post example',
message: 'Posted using FB.api',
link: 'http://wwww.permadi.com/blog/',
}
FB.api('/me/feed', 'post', data, onPostToWallCompleted);
}

//the return function after posting to wall
function onPostToWallCompleted(response)
{
if (response)
{
if (response.error)
{
document.getElementById("txtEcho").innerHTML=response.error.message;
}
else
{
if (response.id)
document.getElementById("txtEcho").innerHTML="Posted as post_id "+response.id;
else if (response.post_id)
document.getElementById("txtEcho").innerHTML="Posted as post_id "+response.post_id;
else
document.getElementById("txtEcho").innerHTML="Unknown Error";
}
}
}



</script>
<input id="loginButton" type="button" value="Login To Facebook" onclick="javascript:facebookLogin();">
<input id="postToWallWithFBApiPrompt" type="button" value="Post To Wall Using FB.api" onclick="javascript:postToWallUsingFBApi();">
<div id="txtEcho"><b></b></div>
</body>
</html>

这里的问题是我收到此错误代码:必须使用事件访问 token 来查询有关当前用户的信息。
即使我使用登录按钮获取代码,我也能理解。是否有可能在函数 postToWallUsingFBApi() 中添加先前获得的访问 token 。我可以使用用户 ID 更改/me/,这样用户就可以注销并仍然发布吗?

最佳答案

如果您以这种方式进行客户端登录,则您必须在之后自己从 URL 中提取访问 token – 参见 https://developers.facebook.com/docs/howtos/login/client-side-without-js-sdk/#step3

或者你只是使用 JS SDK 之外的 FB.login 方法——更简单一点,“开箱即用”处理所有必要的东西——https://developers.facebook.com/docs/howtos/login/getting-started/#step4

关于facebook - 使用 Javascript sdk 在 Facebook 墙上发帖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13810257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com