Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Facebook JavaScript SDK_Javascript_Facebook_Facebook Graph Api_Facebook Javascript Sdk - Fatal编程技术网

使用Facebook JavaScript SDK

使用Facebook JavaScript SDK,javascript,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Facebook,Facebook Graph Api,Facebook Javascript Sdk,这将是一个入门的问题,就像你喜欢遇到的一样 我以前在Facebook上做过编程,但没有直接做过网络编程——因此,我知道如何使用Graph API以及一般情况下的工作方式,但我没有任何网络编程经验,我对如何从一个可以让我登录的工作网页开始有点迷茫(目标是尽可能简单地使用HTML/JavaScript,但允许使用publish_stream权限在墙上上传图像和发布链接等) 以下是我迄今为止没有完成Facebook让我做的事情的代码(以及我之前看到少量HTML后添加的少量代码): 文件的标题(测试文

这将是一个入门的问题,就像你喜欢遇到的一样

我以前在Facebook上做过编程,但没有直接做过网络编程——因此,我知道如何使用Graph API以及一般情况下的工作方式,但我没有任何网络编程经验,我对如何从一个可以让我登录的工作网页开始有点迷茫(目标是尽可能简单地使用HTML/JavaScript,但允许使用publish_stream权限在墙上上传图像和发布链接等)

以下是我迄今为止没有完成Facebook让我做的事情的代码(以及我之前看到少量HTML后添加的少量代码):


文件的标题(测试文本)
window.fbAsyninit=函数(){
//初始化Facebook JavaScript SDK
FB.init({
appId:“为隐私而编辑,但在我的代码中有效”,
channelUrl:null,
状态:正确,
曲奇:错,
xfbml:false
});
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
//连接的
}else if(response.status===“未授权”){
//未授权
登录();
}否则{
//未登录
登录();
}
});
};
函数登录(){
FB.登录(功能(响应){
if(response.authResponse){
//连接的
testAPI();
}否则{
//取消
}
});
}
函数testAPI(){
log('欢迎!获取您的信息…');
FB.api('/me',函数(响应){
log(“很高兴见到你,+response.name+”);
});
}
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);
当我将其保存为.html文件并将其放入Firefox时,不会显示任何内容(除非我在
之前键入一些hello world文本)。我查阅了JavaScript/html教程,了解了如何运行这些内容,但没有用

我知道在上一个链接的先决条件部分(我会再次链接,但我在这里太新了,stackoverflow不会让我这么做)说“你需要一个可以在线托管HTML文件的地方。”它也引用了Heroku,但我能找到的任何资源都会带我去应用托管,我不明白为什么(这只是为了测试这个功能)我首先需要在线托管它,而不是将它放到浏览器中(或者从C/C++调用
ShellExecute
,让它运行)


[编辑:]感谢大家迄今为止的帮助,我只是希望到目前为止我没有花时间处理打字错误,而不是让所有有帮助的人找到问题的根源。

页面空白的原因是,没有显示HTML。示例的重点是演示登录和API调用

如果您已经登录,则不会看到中所示的任何内容

FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            // connected
                        // <----- no calls
        } else if (response.status === 'not_authorized') {
            // not authorized
            login();
        } else {
            // not_logged_in
            login();
        }
    });
};
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
//连接的

//这就是您复制的代码吗?似乎您缺少testAPI()函数的右大括号
}
。谢谢!已编辑并修复。但我仍然有相同的问题。仍然是空白页。首先,检查您的弹出窗口阻止程序设置–因为您正在调用FB.login(以这种方式尝试打开弹出窗口)如果没有任何用户交互,它很可能会被大多数浏览器的默认阻止程序配置阻止。FB.login打开弹出窗口在一般情况下只能用于显式用户交互,例如单击某些按钮。顺便说一句,这就在文档页面的顶部。我忘了提到我已经为此禁用了弹出窗口阻止程序s(只是为了获得一些基本功能以确保基本功能正常工作)。禁用阻止程序后,我仍然会得到一个空白页,该页什么也不做(或似乎什么都不做)。顺便说一句,您不关闭
标题
,也不关闭
html
标记。@phwd对于已连接的用户,我们如何获取发布权限?
FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            // connected
                        // <----- no calls
        } else if (response.status === 'not_authorized') {
            // not authorized
            login();
        } else {
            // not_logged_in
            login();
        }
    });
};
if (response.status === 'connected') {
    // connected
    testAPI(); // <---------------
} else if (response.status === 'not_authorized') {