Post to a Facebook user's wall with cURL PHP

2019-01-06 12:44发布

I'm storing facebook userid's and access tokens. Can i post to a selected user's wall with this information? The following code is found here: http://developers.facebook.com/docs/reference/api/post/ I'm just not sure how to run it with php.

curl -F 'access_token=$accessToken' \
     -F 'message=Check out this funny article' \
     -F 'link=http://www.example.com/article.html' \
     https://graph.facebook.com/$facebookid/feed

3条回答
祖国的老花朵
2楼-- · 2019-01-06 13:02

I tried the cURL method but I don't know what should be $action_name and $action_link changed to.

<?php
require_once("facebooksdk/facebook.php");
require_once('config.php');

$facebook = new Facebook(array(
'appId'  => $appId,
'secret' => $appSecret,
'cookie' => true
));

$access_token = $facebook->getAccessToken();
echo $access_token;
$msg = "testmsg";
$title = "testt";
$uri = "http://somesite.com";
$desc = "testd";
$pic = "http://static.adzerk.net/Advertisers/d18eea9d28f3490b8dcbfa9e38f8336e.jpg";
$attachment =  array(
'access_token' => $access_token,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/me/feed');
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_RETURNTRANSFER, true);  //to suppress the curl output
$result = curl_exec($ch);
curl_close ($ch);


?>

I get the access token successfully, so only these 2 parameters are what I need.

查看更多
Explosion°爆炸
3楼-- · 2019-01-06 13:14
$attachment =  array(
'access_token' => $token,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/fbnameorid/feed');
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_RETURNTRANSFER, true);  //to suppress the curl output 
$result = curl_exec($ch);
curl_close ($ch);
查看更多
Fickle 薄情
4楼-- · 2019-01-06 13:21

Use Facebook SDK. It's much better than handling CURL by yourself.

查看更多
登录 后发表回答