如何使用Facebook的v3 SDK和PHP发帖?

时间:2012-11-07 23:11:28

标签: php facebook facebook-php-sdk

我正在尝试使用我的应用程序在用户的Facebook墙上发帖。我也希望以后能够访问并显示该人的用户信息 - 但我遇到了困难。

我到目前为止的代码如下(当然,敏感部分被掩盖了):

<?php
include("src/facebook.php");

$facebook = new Facebook(array(
    'appId'  => ##############,
    'secret' => #####################################,
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    // The access token we have is not valid
    $user = null;
  }
}
if (!$user) {
    $args['scope'] = 'offline_access, read_stream, friends_likes, email, read_stream, publish_stream, user_birthday,user_hometown, user_photos, uid, username, first_name';
    $loginUrl = $facebook->getLoginUrl($args);
}
 if (!$user): ?>
    <a href="<?php echo $loginUrl ?>">Login with Facebook</a>
<?php endif ?>

我无法弄清楚出了什么问题 - 也许我错过了一些关键的东西?任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:1)

1)请务必阅读permissions documentation。例如,offline_access已被弃用,您要求的大部分权限都不存在!

2)要在用户墙上发帖,您需要publish_stream权限(您已经请求)

3)关注我的tutorial,类似下面的内容将帮助您入门:

$args = array(
    'message'   => 'Hello from my App!',
    'link'      => 'http://www.masteringapi.com/',
    'caption'   => 'Visit MasteringAPI.com For Facebook API Tutorials!'
);
$post_id = $facebook->api("/me/feed", "post", $args);

4)改进你的观点(在上面的代码中混合PHP和HTML不是编程错误但不推荐)。要回答您的上一个请求,$user_profile将保留您需要的信息,只需检查Facebook example即可开始使用。

5)尝试提高你的英语水平,欢迎来到Stack Overflow!