Javascript fb.api;来自非应用程序开发人员的帖子';s A计数
我创建了一个简单的应用程序,它使用FB Javascript SDK在FB上发布我网页文本区域中给出的内容。 我正在使用fb.api来实现这一点,问题是它只适用于我的用户id(我从中创建了应用程序)。对于其他ID,它不起作用。有人能帮忙吗?我希望其他用户也能够在登录后在他们的墙上张贴Javascript fb.api;来自非应用程序开发人员的帖子';s A计数,javascript,facebook,facebook-graph-api,facebook-login,Javascript,Facebook,Facebook Graph Api,Facebook Login,我创建了一个简单的应用程序,它使用FB Javascript SDK在FB上发布我网页文本区域中给出的内容。 我正在使用fb.api来实现这一点,问题是它只适用于我的用户id(我从中创建了应用程序)。对于其他ID,它不起作用。有人能帮忙吗?我希望其他用户也能够在登录后在他们的墙上张贴 <html> <head></head> <body> <div id="fb-root"></div> <label&
<html>
<head></head>
<body>
<div id="fb-root"></div>
<label>Give your message here:</label><br/>
<textarea id = "ta"></textarea><br/>
<label>Any image?</label><br/>
<textarea id = "pic"></textarea><br/>
<label>Any link?</label><br/>
<textarea id = "ta_link"></textarea><br/>
<button onclick = "testAPI()">Click To Post!</button>
<script>
// Additional JS functions here
window.fbAsyncInit = function() {
FB.init({
appId : 'AppID', // App ID
channelUrl : 'http://127.0.0.1/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional init code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert("Connected");
//testAPI();
} else if (response.status === 'not_authorized') {
// not_authorized
login();
} else {
// not_logged_in
login();
}
});
};
function login() {
FB.login(function(response) {
if (response.authResponse) {
//testAPI();
} else {
alert("Can't connect")
}
});
}
function testAPI() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
var tbmsg = document.getElementById("ta").value;
var tbimg = document.getElementById("pic").value;
var tblink = document.getElementById("ta_link").value;
var wallPost = {};
wallPost['message'] = tbmsg;
if(tbmsg == "")
{
alert("Message box can't be empty")
}
if(tbimg)
{
wallPost['picture'] = tbimg;
}
if(tblink)
{
wallPost['link'] = tblink;
}
FB.api('/me/feed', 'post', wallPost , function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert("Posted");
}
});
}
else
{
alert("Login first")
}
请在此处留言:
有图像吗?
有链接吗?
点击发布!
//这里有额外的JS函数
window.fbAsyninit=函数(){
FB.init({
appId:'appId',//应用程序ID
频道URL:'http://127.0.0.1/channel.html“,//通道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//这里有额外的初始化代码
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
警报(“已连接”);
//testAPI();
}else if(response.status===“未授权”){
//未经授权
登录();
}否则{
//未登录
登录();
}
});
};
函数登录(){
FB.登录(功能(响应){
if(response.authResponse){
//testAPI();
}否则{
警报(“无法连接”)
}
});
}
函数testAPI(){
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
var tbmsg=document.getElementById(“ta”).value;
var tbimg=document.getElementById(“pic”).value;
var tblink=document.getElementById(“ta_link”).value;
var wallPost={};
wallPost['message']=tbmsg;
如果(tbmsg==“”)
{
警报(“消息框不能为空”)
}
如果(待定)
{
墙贴['picture']=tbimg;
}
如果(tblink)
{
墙柱['link']=tblink;
}
api('/me/feed',post',wallPost,函数(响应){
如果(!response | | response.error){
警报(“发生错误”);
}否则{
警报(“已发布”);
}
});
}
其他的
{
警报(“先登录”)
}
}));
}
//异步加载SDK
您可能必须在您的FB应用程序中正确设置域名。但如果我在本地主机上怎么办?给定域名,其他用户是否可以在其墙上发布?请确保您的应用程序不处于
沙箱模式
您可以在主机文件中添加主机名,这样您就可以使用正确的域名在本地主机上测试应用程序。这听起来可能太琐碎了,但您能告诉我如何做到吗?我只有一个HTML文件(包含上述代码)。
// Load the SDK Asynchronously
</script>
</body>