API do Facebook: Como postar no próprio muro de aplicativos sem login

Eu quero publicar na minha aplicação wall um texto com um script, mas sem o primeiro login porque deve ser feito automaticamente. Como eu poderia fazer isso? Eu já tentei:

$fb = new Facebook(array( 'appId' => 'appid', 'secret' => 'appsecret', 'cookie' => true )); if ($fb->getSession()) { // Post } else { // Logger // Every time I get in here :( } 

O que eu tenho que fazer para obter o access para postar no meu próprio mural do aplicativo com um script?

Se você deseja publicar no seu próprio muro de aplicativos, tudo o que você precisa é um token de access à aplicação e, se você deseja publicar em um muro de usuário sem login, você também precisa desse token de access ao longo tempo do usuário, pelo que você precisa pedir Permissão de access off-line.

Para publicar no seu muro de aplicação:

1- Curle este link para obter o token de access da aplicação:

https://graph.facebook.com/oauth/access_token ? client_id = YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials

2- Publicar no muro sem verificar a session

Exemplo:

  '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 '

'; }

Verifique a parte da APP LOGIN nesta página para obter mais informações: http://developers.facebook.com/docs/authentication/

Eu não posso deixar isso como um comentário porque não tenho os pontos, mas se alguém tiver um problema semelhante – se a resposta do McSharks não funcionar, remova o json_encode como cotação das citações e deve funcionar.