1张贴在页面的壁上,用户:
发布在页面上的墙为用户是直截了当的,你可以使用类似的东西:
<?php
// path to sdk
require './src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'APP_SECRET',
));
$user = $facebook->getUser();
try {
$post_id = $facebook->api('/TARGET_PAGE_ID/feed', 'POST', array('message'=>"I am a user!"));
var_dump($post_id);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream'));
}
// rest of code here
注:
- 后的所有者将是当前连接的用户。
- 以上取决于页面的发帖能力设置。
- 您需要的
publish_stream
许可
2张贴在页面的壁上,PAGE:
我们发布的页面上,你可以使用类似:
<?php
// This code is just a snippet of the example.php script
// from the PHP-SDK <http://github.com/facebook/php-sdk/blob/master/examples/example.php>
require '../src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'app_id',
'secret' => 'app_secret',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
$page_id = 'TARGET_PAGE_ID';
$page_info = $facebook->api("/$page_id?fields=access_token");
if(!empty($page_info['access_token'])) {
$args = array(
'access_token' => $page_info['access_token'],
'message' => "I'm a Page!"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);
}
} 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('scope'=>'manage_pages,publish_stream'));
}
// rest of code
?>
注意事项:
- 您需要
manage_pages
个publish_stream
权限
- 一旦你获得你就可以开始发布其代表
- 更多关于此页面的
access_token
进行了详细我tutorial解释。
是否希望帖子所有者成为*用户*或*页面*? – ifaour
现在我想到了,我希望用户成为页面的所有者 – cbr0wn
什么?!我问你是否想要以管理员身份或[作为页面]发布(http://www.masteringapi.com/tutorials/how-to-post-on-facebook-page-as-page-not-as-admin-用户使用的PHP-SDK/31 /)。你不能让用户在页面上进行管理(显然不是所有者) – ifaour