【发布时间】:2012-02-11 02:09:48
【问题描述】:
目前,我的应用程序每次访问应用程序时都会发布到用户墙。我只希望在他们第一次授权应用程序时将其发布到墙上。然后每次他们之后访问它时,它只会更新新闻提要状态。
这是我当前的代码:
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$access_token = $facebook->getAccessToken();
$vars = array(
'message' => "Message goes here",
'picture' => "image",
'link' => "link here",
'name' => "Name here",
'caption' => "Caption here"
);
$result = $facebook->api('/me/feed', 'post', $vars);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=> $app_url));
echo "<script type='text/javascript'>";
echo "top.location.href = '{$loginUrl}';";
echo "</script>";
}
为了实现这一点,我需要进行哪些更改?
【问题讨论】:
-
您能否澄清“仅更新新闻提要状态”的意思?更新提要将创建一个新帖子。状态更新与墙上的任何其他帖子相同 - 仅由该用户发布,通常不包含任何链接。
-
我的意思的例子。我有拼字游戏应用程序,但是当我使用该应用程序时,它不会发布到我的墙上,它会显示在新闻源和我的活动日志中,说我玩了拼字游戏和一个指向该应用程序的链接。
-
我希望你不介意我稍微改变了你的代码示例的格式;我发现在格式上稍加努力会使以后阅读起来更容易。尤其是在其他人阅读您的代码的情况下。
标签: post facebook-php-sdk facebook-apps