2012-08-24 14 views
6

Sto provando a caricare una foto sul muro della mia pagina (e lo sto facendo con successo) ma non nel modo in cui mi piacerebbe.Facebook API: caricamento di foto sul muro?

Ecco come vorrei la foto di presentarsi: http://screencast.com/t/wnRFBh1xlf

Tuttavia, ecco come si vede in realtà up: http://screencast.com/t/4WblA7s8fyE

Ecco il codice che sto utilizzando con curl per caricare la foto (o piuttosto, link ad esso)

$img_url = "url"; 
$page_id = "XXXXX"; 
$url = "https://graph.facebook.com/$page_id/feed"; 
$fields = array(
         'access_token'=>urlencode("XXXXXXX"), 
         'message'=>urlencode("Far Cry 3!"), 
         'picture'=>$img_url 
       ); 

Quindi, da quello che posso dire, dovrei essere in grado di memorizzare l'immagine sul mio server e inviare la fonte dell'immagine finita, ma ottengo solo un errore quando lo faccio quella.

Ecco che il codice e l'errore ...

"{" codice di errore OAuthException " " ": {" message "::" (# 100) URL di origine non è formattata correttamente", "tipo"" ": 100}}"

$img_url = 'url'; 
$img = 'temp_image.jpg'; 
$contents = file_get_contents($img_url); 
file_put_contents($img, $contents); 
$path = realpath($img); 
//echo $path; 

//set POST variables 
$page_id = "XXXXXX"; 
$url = "https://graph.facebook.com/$page_id/feed"; 
$fields = array(
         'access_token'=>urlencode("XXXXXXX"), 
         'message'=>urlencode("Far Cry 3!"), 
         'source'=>"@".$path 
       ); 

io non sono sicuro di quello che sta andando male qui, e sono alla ricerca tutta la notte per esso - senza fortuna.

Speriamo che qualcuno possa darmi un indizio su cosa dovrei effettivamente fare.

Grazie!

+0

si può mostrare un '$ img_url' campione? –

risposta

5

Stai distacco alla connessione /feed lì, se si desidera che l'immagine più grande, è necessario caricare in realtà la foto di uno degli album di foto degli utenti (vale a dire il collegamento /photos)

+0

Ah, grazie. Non me ne sono reso conto. Quando lo faccio manualmente, ho sempre postato le foto direttamente sul muro. Questo aiuta molto. Ti farò sapere se questo risolve il problema. – user1146223

+0

Aggiungi '? Type = large' (o uno di: small, normal o square) alla fine dell'URL per inviare una foto grande –

+0

Gabriel - come funzionerebbe? sta caricando le immagini, non recuperandole dall'API – Igy

Problemi correlati