Php 如何在不打开对话框的情况下在facebook墙上发布?
我在我的网站上有一个测验程序,用户通过他们的facebook帐户登录并进行测验 成功完成测验后,我想把他们的分数和排名贴在墙上。Facebook登录和注销工作正常。如何在不显示对话框的情况下在墙上显示他们的分数和排名 我用这个代码把分数和排名贴在用户的墙上-Php 如何在不打开对话框的情况下在facebook墙上发布?,php,facebook,dialog,Php,Facebook,Dialog,我在我的网站上有一个测验程序,用户通过他们的facebook帐户登录并进行测验 成功完成测验后,我想把他们的分数和排名贴在墙上。Facebook登录和注销工作正常。如何在不显示对话框的情况下在墙上显示他们的分数和排名 我用这个代码把分数和排名贴在用户的墙上- require 'src/facebook.php'; <?php $facebook = new Facebook(array( 'appId' => 'APP ID', 'secr
require 'src/facebook.php';
<?php
$facebook = new Facebook(array(
'appId' => 'APP ID',
'secret' => 'SECRET KEY',
));
?>
<script>
FB.init({
appId:'APP ID', cookie:true,
status:true, xfbml:true
});
FB.ui({ method: 'feed',
message: '<?php echo "My score is ".$myscore." and rank is ".$rank; ?>'});
</script>
需要'src/facebook.php';
FB.init({
appId:'appId',cookie:true,
状态:true,xfbml:true
});
ui({method:'feed',
消息:'});
此代码正在为我打开一个对话框,但该对话框的输入字段为空。如果用户点击“发布”按钮,则不会在墙上发布任何内容,如果用户在输入字段中编辑文本,则会发布错误信息。此字段应不可编辑,或者此框不应存在
请用代码示例向我推荐解决方案。这是因为FB不允许预编辑消息字段。如果您想在用户的墙上发布某些内容,您应该拥有用户的“发布流”权限,这样您就可以发布消息,而无需请求用户在其消息框中输入内容或按“发布”按钮。但为此,您必须调用FB.api来访问Graph api以访问用户的墙。有关更多详细信息,请参阅 添加到您编写的代码中,您应该通过在FB.init参数中添加“oauth:true”来使用OAuth2方法。您应该请求“publish\u stream”权限,以便能够在不向用户显示对话框的情况下发布提要故事 示例代码可能如下所示:
FB.login(function(response) {
if (response.authResponse) {
console.log('Posting message');
FB.api('/me', 'post', {message: 'Beware, boiling water...'});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'publish_stream'});
可能与此重复