Я знаю, как отправить фид на стене друга. например:
$url = 'https://graph.facebook.com/' . $fbId . '/feed'; $attachment = array( 'access_token' => $accessToken, 'message' => $msg, 'name' => $name, 'link' => $link, 'description' => $desc, 'picture' => $logo, ); // set the target url $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); 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_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $go = curl_exec($ch); curl_close ($ch); $go = explode(":", $go); $go = str_ireplace('"', '', $go[1]); $go = str_ireplace('}', '', $go); return $go;
Но я хочу знать, как отправить ответ на конкретный фид, используя cURL PHP или API Facebook Graph. Может ли кто-нибудь помочь мне решить эту проблему?
Вы пробовали это:
https://graph.facebook.com/" . $go . "/comment
Я думаю, если вы можете опубликовать фид с помощью /feed
, вы можете оставить комментарий с /comment
url.
Спасибо.
Хорошо, прежде всего, это лучший способ извлечения id:
$go = json_decode($go, TRUE); if( isset($go['id']) ) { // We successfully posted on FB }
Поэтому вы бы использовали что-то вроде:
$url = 'https://graph.facebook.com/' . $fbId . '/feed'; $attachment = array( 'access_token' => $accessToken, 'message' => "Hi", ); // set the target url $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); 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_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $go = curl_exec($ch); curl_close ($ch); $go = json_decode($go, TRUE); if( isset($go['id']) ) { $url = "https://graph.facebook.com/{$go['id']}/comments"; $attachment = array( 'access_token' => $accessToken, 'message' => "Hi comment", ); // set the target url $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); 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_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $comment = curl_exec($ch); curl_close ($ch); $comment = json_decode($comment, TRUE); print_r($comment); }
использование
FB.api('/[POST_ID]/comments', 'post', { 'message' : 'comment post' });
Убедитесь, что у вас есть привилегия publish_stream.
Я не пробовал это, но вы должны попробовать следующий метод:
получите идентификатор сообщения, которое вы только что разместили. Проверьте, есть ли какие-либо значения api. если нет, вы можете получить идентификатор из поля «id» в «https://graph.facebook.com/".$fbId."/feed».
используйте FB.api ('/ [POST_ID] / comments', 'post', {'message': 'comment post'}); убедитесь, что у вас есть привилегия publish_stream.