Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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
Javascript Facebook开放图预操作身份验证_Javascript_Facebook_Facebook Opengraph - Fatal编程技术网

Javascript Facebook开放图预操作身份验证

Javascript Facebook开放图预操作身份验证,javascript,facebook,facebook-opengraph,Javascript,Facebook,Facebook Opengraph,基本上,我刚刚开始为我们的网站开发Facebook开放图形。现在,我已经成功地实现了Facebook操作和对象,但由于Facebook文档没有显示许多高级示例,我有点被困在这里 我试图在页面上有一个按钮,可以将一个操作发布到用户的墙上。但是,如果用户未登录Facebook或未验证Facebook应用程序,则此时javascript会抛出一个错误 使用Facebook文档中的示例,这就是我目前在页面上看到的内容 我的问题是,我如何调整它来检测用户是否登录到Facebook和/或通过我的Facebo

基本上,我刚刚开始为我们的网站开发Facebook开放图形。现在,我已经成功地实现了Facebook操作和对象,但由于Facebook文档没有显示许多高级示例,我有点被困在这里

我试图在页面上有一个按钮,可以将一个操作发布到用户的墙上。但是,如果用户未登录Facebook或未验证Facebook应用程序,则此时javascript会抛出一个错误

使用Facebook文档中的示例,这就是我目前在页面上看到的内容

我的问题是,我如何调整它来检测用户是否登录到Facebook和/或通过我的Facebook应用程序进行身份验证??如果未检测到用户登录/验证,则显示登录按钮,而不是下面的共享按钮

如果Facebook登录,它是否可以像使用下面的代码一样显示共享按钮

<script type="text/javascript">
function shareme()
{
FB.api('/me/gradtouch:discover&company=URL','post',
                function(response) {
        if (!response || response.error) {
                alert('Error occured');
        } else {
            alert('Post was successful! Action ID: ' + response.id);
            }
    });
}
</script>

函数shareme()
{
api('/me/gradtouch:discover&company=URL','post',和,
功能(响应){
如果(!response | | response.error){
警报(“发生错误”);
}否则{
警报(“发布成功!操作ID:”+响应.ID);
}
});
}

非常感谢您提供的任何帮助、指导,即使这是一个方向,我可以从中阅读更多关于如何编写能够做到这一点的内容。

有几种方法可以检测用户是否登录,最有用的可能是订阅“auth.statusChange”事件

当FB sdk完成初始化时,应使用用户的状态(是否登录FB、是否添加了您的应用程序、是否根本未登录)调用此函数。请参阅:)


然后,您可以显示相关按钮,如果您需要用户登录,只需使用您需要的权限调用FB.login(),如果他们的登录状态发生变化(即,如果他们选择添加应用程序),则应再次调用事件处理程序。

非常感谢!希望我能理解这个文件,但快速浏览非常有用。干杯