向Facebook API发布状态,帮助:(

时间:2011-01-16 18:15:15

标签: php mysql facebook facebook-graph-api

简而言之,我希望在这种情况下使用FB api发布状态:

用户必须输入一些更新(在我的网站上),该更新将发布到db, 用户可以检查(发布到fb),以便更新也出现在他的FB配置文件中。

在我的网站上发布更新我在HTML表单中有一个textarea,它将操作指向另一个php文件(将其写入数据库)

最后,我将向您展示这两个文件是安全的并给出准确的答案

如何整合这两个动作(发布到FB和DB),我该怎么做以及在哪里?

THX

2 个答案:

答案 0 :(得分:5)

以下代码应该有所帮助;

$facebook = new Facebook(array(
 'appId'  => FACEBOOK_APP_ID,
 'secret' => FACEBOOK_SECRET,
 'cookie' => false,
));

输入应用程序设置

$facebook_url = $facebook->getLoginUrl(array(
 'next' => '',
 'cancel_url' => '',
 'req_perms' => 'email,publish_stream,status_update'
));

使用此网址对用户进行身份验证,因为它将授予发布状态更新的权限

$attachment =  array(
 'message' => '[Status message]',
 'name' => '[Post title]',
 'link' => '[Post image & title link]',
 'description' => '[Post description]',
 'picture'=> '[Post Thumbnail Location]'
);

$facebook->api('/me/feed', 'POST', $attachment);

这会将$attachment的内容发布到经过身份验证的用户的墙上。

答案 1 :(得分:4)

php-sdk工作流程应该很容易:

您的页面应包含登录按钮,其中包含必要的JS和服务器端脚本以保存会话,就像example.php一样。这里需要注意的一点是,您需要询问用户publish_stream权限,以便您的登录按钮如下所示:

<fb:login-button perms="read_stream,publish_stream"></fb:login-button>

现在刷新时,检查您是否有有效会话,以便显示提交表单或“facebook”复选框...

提交后并在您的操作文件中,例如post.php
你得到$_POST['user_status']验证它并将其提交给你的数据库,然后检查facebook复选框,如果你有一个有效的会话:

require '../src/facebook.php';
$facebook = new Facebook(array(
  'appId' => 'APP_ID',
  'secret' => 'APP_SEC',
  'cookie' => true,
));
$session = $facebook->getSession();

if($session && isset($_POST['fb_checkbox'])) {
    $facebook->api('/me/feed', 'post', array('message'=>$_POST['user_status']));
}

有关您可以发布的内容的详细信息here

这应该让你知道如何开始。 : - )