简而言之,我希望在这种情况下使用FB api发布状态:
用户必须输入一些更新(在我的网站上),该更新将发布到db, 用户可以检查(发布到fb),以便更新也出现在他的FB配置文件中。
在我的网站上发布更新我在HTML表单中有一个textarea,它将操作指向另一个php文件(将其写入数据库)
最后,我将向您展示这两个文件是安全的并给出准确的答案
如何整合这两个动作(发布到FB和DB),我该怎么做以及在哪里?
THX
答案 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。
这应该让你知道如何开始。 : - )