4
curl -F 'access_token=...' \
     -F 'message=Hello, Arjun. I like this new API.' \
     https://graph.facebook.com/arjun/feed

The documentation says I need to issue one to publish to the wall.

MANCHUCK
  • 2,424
  • 1
  • 16
  • 22

2 Answers2

4

It's worth mentioning that MANCHUCK's suggestion to use cURL is not the best way for this functionality as cURL is a not a core PHP extension. Administrators have to compile/enable it manually and it may not be available on all hosts. And as already pointed out on my blog - PHP has native support for POSTing data starting with PHP 4.3 version (released 8 years ago!).

// Your POST data
$data = http_build_query(array(
    'param1' => 'data1',
    'param2' => 'data2'
));

// Create HTTP stream context
$context = stream_context_create(array(
    'http' => array(
        'method' => 'POST',
        'header' => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $data
    )
));

// Make POST request
$response = file_get_contents('http://example.com', false, $context);
Sim
  • 2,627
  • 1
  • 20
  • 21
2

In php use the curl* family of functions.

an example:

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/arjun/feed');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('access_token' => 'my token',
                                           'message' => 'Hello, Arjun. I like this new API.'));

curl_exec($ch);
MANCHUCK
  • 2,424
  • 1
  • 16
  • 22
  • you also need to set header for https. I get the code working after setting these 2 options curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); – Terminal Oct 27 '12 at 13:20