当我使用我的 facebook 登录时,我想使用访问令牌在 facebook 墙上发帖,但当其他用户使用时,它不起作用。
对于发布,我使用我的帐户并在使用 facebook 墙上的访问令牌发布获取访问令牌后授权用户登录。
它不适用于其他用户的登录名,请帮助。
代码
$facebook = new Facebook(array(
'appId' => $conf->get("FACEBOOK_API_ID"),
'secret' => $conf->get("FACEBOOK_SECRET_ID"))
);
$user = $facebook->getUser();
$params = array(
'description' => $campaign['message'],
'message' => $campaign['message'],
'picture' => $campaign['image_path'],
'created_time' => strtotime($campaign['post_datetime']));
$facebook->setAccessToken($campaign['access_token']);
$uid = $facebook->getUser();
$facebook->api("/$user/feed", "POST", $params);
通过使用我的 App ID/API Key 和 App Secret,我想在用户的墙上发帖。为了在用户的墙上发帖,用户将拥有他/她将登录的登录框,然后我通过使用此访问令牌获得访问令牌,我将在特定时间发布。通过使用 cron,我使用该访问令牌在用户的墙上发布。
我正在使用我的 App ID/API 密钥和 App Secret 来获取用户的访问令牌的一件事。
我得到了访问令牌,但是在得到这个访问令牌之后我想发布,当我点击 cron url 时,它给了我错误 Fatal error: Uncaught OAuthException: (#200) The user has not authorized the application to perform this action在第 1271 行的 /home/xyz/public_html/xyyy/plugin/facebook/base_facebook.php 中抛出
请帮忙,我怎样才能发帖?
$facebook = new Facebook(array(
'appId' => Config::get('FACEBOOK_API_ID'),
'secret' => Config::get('FACEBOOK_SECRET_ID'), 'scope'=>'create_note,manage_pages,photo_upload,publish_actions,publish_stream,share_item,status_update,video_upload'
));
$user_id = $facebook->getUser();
if($user_id) {
try {
$accessToken = $facebook->getAccessToken();
$url = 'https://graph.facebook.com/oauth/access_token?client_id='.Config::get('FACEBOOK_API_ID').'&client_secret='.Config::get('FACEBOOK_SECRET_ID').'&grant_type=fb_exchange_token&fb_exchange_token='.$accessToken;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
parse_str($response, $token_data);
$access_token = $token_data['access_token'];