3

PHP で、グラフ 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); 

このコードが機能しない理由を知っている人はいますか? access_token は正しいです。

4

3 に答える 3

3
    $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);
于 2010-06-01T18:29:51.813 に答える
0

「CURLOPT_SSL_VERIFYPEER」を0に設定する必要があるようです。

e.g. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
于 2010-05-18T12:22:59.153 に答える
0

壁の写真のアルバムに写真を投稿するには、このアルバムのアルバム ID (援助) を知り、次のように添付ファイルに追加する必要があります。コードを残します。

    $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);
于 2011-02-08T13:23:24.693 に答える