如果你想發佈到自己的應用程序牆,所有你需要的是一個應用程序訪問令牌,如果你想發佈到用戶牆上沒有登錄,您還需要這個用戶萬歲訪問令牌,爲您必須要求離線訪問權限。
要發佈到您的應用程序牆:
1-捲曲此鏈接,讓您的應用程序訪問令牌:
https://graph.facebook.com/oauth/access_token? CLIENT_ID = YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials
2-發佈,而不檢查所述會話到壁
實施例:
<?php
require_once 'facebook.php'
//Function to Get Access Token
function get_app_token($appid, $appsecret)
{
$args = array(
'grant_type' => '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 '<pre>';
print_r($e);
echo '</pre>';
}
檢查APP在當前頁爲更詳細的信息LOGIN部分: http://developers.facebook.com/docs/authentication/
無需登錄到fb我不認爲你可以訪問它的任何功能。 – 2011-03-05 17:52:19
好的,我怎麼能發佈到應用程序牆? – Poru 2011-03-05 17:56:25