2013-02-20 4 views
0

Я пытался получить каналы фан-страниц друзей с помощью cURL и публиковать сообщения через приложение. cURL GET прекрасно работает, но когда дело доходит до того, что нравится объект (который, безусловно, нравится, потому что это facebook), все, что я получаю, является логическим (и никаким действием). я видел на SO что вы оставить как сПроводка, похожая на приложение на facebook, возвращает true и ничего не делает

($access_token, "https://graph.facebook.com/$post_id/likes", 'POST') 

Однако, это не работает (он говорит, что либо приложение не имеет разрешения, чтобы сделать это, или что мне нужен действительный URL).

Я пробовал все возможные решения, но ничего не работает. Профиль мой, токен доступа тоже, и я дал полномочия publish_stream для моего собственного приложения.

Дав попытку к SDK PHP Likbrary, я попробовал прямой пост локон, со следующим кодом:

function likeit($url){ 
//open connection 
$ch = curl_init(); 

curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, $url); 
curl_exec($ch); 
curl_close($ch); 

} 

Исполнение I головоломки. Когда он не возвращает OAuth Exception, он возвращает boolean и останавливается там (мне не нравится «нравится» сообщение, которое мне нравится). Последняя попытка (но я пытался их всех, даже весь URL в некоторых тестах) является

foreach ($feeds->data as $feed_data) 
$message = $feed_data->message; 
$title = $feed_data->name; 
$link = $feed_data->link; 
$id = $feed_data->id; 


    $myaccesstoken = "longlastingaccesstokenstring"; 
    $post=likeit($myaccesstoken, "https://graph.facebook.com/$post_id/likes", 'POST'); 

ли кто-нибудь есть предложение о том, как это сделать? Это кажется тривиальным, и для меня это невозможно. Огромное спасибо заранее!

ответ

0

Я нашел решение и, таким образом, размещаю его здесь для справок в будущем (надеясь, что он будет полезен для кого-либо с той же проблемой): Единственная проблема заключалась в том, что после новых разрешений с facebook мне нужно было переписать, разрешить мое приложение.

После этого, это не возможно оставить как с помощью библиотеки SDK facebook, как правило:

   $facebook->api("/$id/likes", 'post', array( 
      'access_token' => $myaccesstoken)); 

Нет необходимости использовать CURL непосредственно. Надеюсь, это поможет кому-то с тем же вопросом.