我有以下代码,允许我向当前登录的用户Facebook墙发布消息:
<?php
error_reporting( E_ALL | E_STRICT );
ini_set('display_errors', 1);
session_start();
require("facebook.php");
$facebook = new Facebook(array(
'appId' => 'app_id_here',
'secret' => 'secret_here',
'cookie' => true
));
$session = $facebook->getSession();
if( !empty( $session ) ) {
try {
$uid = $facebook->getUser();
$user = $facebook->api('/me');
$api_call = array(
'method' => 'users.hasAppPermission',
'uid' => $uid,
'ext_perm' => 'publish_stream'
);
$can_post = $facebook->api($api_call);
if( $can_post ) {
$facebook->api('/'.$uid.'/feed', 'post', array('message' => 'post some message here'));
echo 'Posted! Then redirect to an appropriate page.';
} else {
$url = $facebook->getLoginUrl(array(
'req_perms' => 'publish_stream'
));
header("Location: {$url}");
exit;
}
} catch ( Exception $e ) {
echo $e;
exit;
}
} else {
$url = $facebook->getLoginUrl(array(
'req_perms' => 'publish_stream'
));
header("Location: {$url}");
}
?>
我需要在我的网站上的多个位置使用此代码,并且需要不断更改正在发布的消息。所以我认为我应该使用url查询字符串将消息发送到上面的代码。即。
header(“Location:post_message.php?message =”。$ some_message_here);
但这意味着任何弄明白网址的人都可以开始发布随机消息吗?即。
http://mysite.com/post_message.php?message=some此处留言
如何在我需要的所有页面中使用上面的代码,传递一个字符串以便发布消息,但是阻止用户导航到该页面以发布随机消息?
答案 0 :(得分:7)
答案 1 :(得分:0)
在这种情况下,登录用户可以从您的应用程序向其墙发布任何消息。如果消息不是用户生成的,那么我不明白为什么它不会是有限数量的消息。
我建议您定义消息并将标识符传递给该消息。如果消息具有可变内容,您也可以传递它。我将定义一个消息对象,其中包含所有预期参数,包括唯一标识符标记和JSON编码,并将其作为get请求中的唯一变量传递。