Вопрос по php, curl, facebook, facebook-graph-api – «; '

14

ню идентификаторы пользователей и маркеры доступа в Facebook. Могу ли я опубликовать на стене выбранного пользователя эту информацию? Следующий код находится здесь:http://developers.facebook.com/docs/reference/api/post/ Я просто не уверен, как запустить его с php.

curl -F 'access_token=$accessToken' \
     -F 'message=Check out this funny article' \
     -F 'link=http://www.example.com/article.html' \
     https://graph.facebook.com/$facebookid/feed
Как насчет использования PHPcURL API? zneak
Я сомневаюсь, что это будет работать, но я попробую это :) Kumar

Ваш Ответ

3   ответа
30
$attachment =  array(
'access_token' => $token,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/fbnameorid/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  //to suppress the curl output 
$result = curl_exec($ch);
curl_close ($ch);
должен ли бытьif заявление где-то в этом коде? pepe
Спасибо и добавлю, что я понял: чтобы загрузить картинку с вашего сервера, измените URL запроса на:graph.facebook.com/fbnameorid/photos и добавьте элемент массива с именем 'file' со значением '@'. [путь к файлу] ssaltman
когда я запускаю этот код из браузера, он работает. Но когда я запускаю это в консоли, я получаю {"error": {"message": "(# 200) Пользователь не авторизовал приложение для выполнения этого действия", "type": "OAuthException", "code": 200}} themis
3

но я не знаю, что должно быть $ action_name и $ action_link изменено на.

<?php
require_once("facebooksdk/facebook.php");
require_once('config.php');

$facebook = new Facebook(array(
'appId'  => $appId,
'secret' => $appSecret,
'cookie' => true
));

$access_token = $facebook->getAccessToken();
echo $access_token;
$msg = "testmsg";
$title = "testt";
$uri = "http://somesite.com";
$desc = "testd";
$pic = "http://static.adzerk.net/Advertisers/d18eea9d28f3490b8dcbfa9e38f8336e.jpg";
$attachment =  array(
'access_token' => $access_token,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/me/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);


?>

Я успешно получил токен доступа, поэтому мне нужны только эти 2 параметра.

Просто добавьте что-то вроде: `$ action_name = 'Register Now'; $ action_link = 'example.com/register«; ' Andy Gee
3

Facebook SDK, Это намного лучше, чем обрабатывать CURL самостоятельно.

Возможно, вы могли бы заметить, что определенные функции в SDK Facebook могут заменить этот код, вместо того, чтобы указывать на весь SDK. joe

Похожие вопросы