Публикация статуса через график API Facebook - PullRequest
3 голосов
/ 17 мая 2010

В PHP я пытаюсь опубликовать статус на нашей фан-странице Facebook, используя график api, несмотря на то, что, следуя указаниям Facebook, следующий код, похоже, не обновляет статус.

Вот код;

$xPost['access_token'] = "{key}";
$xPost['message'] = "Posting a message test.";

$ch = curl_init('https://graph.facebook.com/{page_id}/feed'); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xPost); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);  
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); 
curl_setopt($ch, CURLOPT_CAINFO, NULL); 
curl_setopt($ch, CURLOPT_CAPATH, NULL); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 

$result = curl_exec($ch); 

Кто-нибудь знает, почему этот код не работает?Ток доступа верен.

Ответы [ 3 ]

3 голосов
/ 01 июня 2010
    $url = "https://graph.facebook.com/ID_HERE/feed";
    $ch = curl_init();
    $attachment =  array(   'access_token'  => 'your token',                        
                        'name'          => "Title",
                        'link'          => "www.google.com",
                        'description'   => 'description here',
                    );

    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);
    $result= curl_exec($ch);

    curl_close ($ch);
0 голосов
/ 08 февраля 2011

Чтобы опубликовать фото в альбоме Wall photo, вам нужно знать идентификатор альбома (помощи) этого альбома и добавить его во вложение, как это Я оставляю свой код:

    $url = "https://graph.facebook.com/" . $this->getPageId() . "/photos";
    $attachment = array(
        'access_token' => $this->getAccessToken(),
        'source' => '@' . $source,
        'aid' => $aid,
        'message' => $message,
    );

    $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);
    ob_start();
    curl_exec($ch);
    $this->setjsonResult(ob_get_contents());
    ob_end_clean();
    curl_close($ch);
0 голосов
/ 18 мая 2010

кажется, что "CURLOPT_SSL_VERIFYPEER" должен быть установлен в 0;

e.g. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...