我正在尝试使用我的应用程序在用户的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 ?>
我无法弄清楚出了什么问题 - 也许我错过了一些关键的东西?任何指导都将不胜感激。
答案 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!