I want to post to my own application wall a text with a script but without to login first because it should be done automatically. How could I do that? I tried already:
If you want to post to your own Application wall, all you need is an application Access Token, and if you want to publish to an user wall without login, you also need this user long live access token, for that you have to ask for Offline access permission.
To publish to your application wall :
1- Curl this link to get your application access token :
https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET& grant_type=client_credentials
2- Publish to wall without checking for the session
Example :
'client_credentials',
'client_id' => $appid,
'client_secret' => $appsecret
);
$ch = curl_init();
$url = 'https://graph.facebook.com/oauth/access_token';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
return json_encode($data);
}
// Create FB Object Instance
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $appsecret,
'cookie' => false,
));
//Get App Token
$token = get_app_token($appid, $appsecret);
//Try to Publish on wall or catch the Facebook exception
try {
$attachment = array('message' => '',
'access_token' => $token,
'name' => 'Attachment Name',
'caption' => 'Attachment Caption',
'link' => 'http://apps.facebook.com/xxxxxx/',
'description' => 'Description .....',
'picture' => 'http://www.google.com/logo.jpg',
'actions' => array(array('name' => 'Action Text',
'link' => 'http://apps.facebook.com/xxxxxx/'))
);
$result = $facebook->api('/'.$appid.'/feed/', 'post', $attachment);
}
//If the post is not published, print error details
catch (FacebookApiException $e) {
echo '';
print_r($e);
echo '
';
}
Check APP LOGIN part in this page for more informations : http://developers.facebook.com/docs/authentication/