2016-03-21 9 views
0

in meinem Arbeits Code eine Nachricht mit URL-basierten Bild zu schreiben, ich habe dieses Setup:Facebook PHP SDK Post Foto an Fanpage

$post_data = array(
    'message' => 'nice kitten pic', 
    'url' => 'http://www.eastcottvets.co.uk/uploads/Animals/gingerkitten.jpg' 
    ); 
    $request = new FacebookRequest($app, $access_token, 'POST', '/' . $page_id . '/photos', $post_data); 

ich dieses tryed, die nicht funktioniert:

$post_data = array(
    'message' => 'nice kitten pic', 
    'source' => realpath('pics/kitten.jpg') 
    ); 

Aber jetzt möchte ich ein Bild, nicht mit einer URL-Referenz, sondern mit einem Verweis auf den Pfad des Bildes auf meinem localhost. Facebook Docu sagt:

"Es gibt zwei verschiedene Möglichkeiten, um Fotos zu Facebook veröffentlichen: . 1: Bringen Sie das Foto als multipart/form-data Der Name des Objekts keine Rolle spielt, aber historisch Menschen verwendet haben Quelle wie der Parametername für das Foto. Wie das funktioniert, hängt von dem SDK ab, das Sie verwenden, um den Beitrag zu erledigen. 2: Verwenden Sie ein bereits veröffentlichtes Foto, indem Sie den URL-Parameter "

Also, Weg Nr.2 funktioniert, aber wie benutze ich Weg Nr.1, mit "das Foto als Multipart/Form-Daten anhängen" ?? - Die Doku ist ein Beispiel für PHP SDK und im Allgemeinen.

Antwort

1

Die Doku ist ein Beispiel für PHP SDK und im Allgemeinen.

Nein, es nicht - Sie haben gerade verpasst es: https://developers.facebook.com/docs/php/howto/example_upload_photo

Der Teil am besten zu Ihrer Frage ist die Verwendung der fileToUpload eine lokale Datei für den Upload vorzubereiten.

+0

vielen dank, ich bin jetzt mehr vertraut mit der struktur der dokumentation. Da waren viele Tutorials im Web, das scheint veraltet zu sein, die mich auch verwirrt haben :)) – chris

1

Lösung, für die Menschen Vorspiel könnte aswell suchen:

$post_data = array(
    'message' => 'nice kitten pic', 
    'source' => $fb->fileToUpload('/var/www/myPublicToTheWebFolder/kitten.jpg'), 
); 

natürlich der Weg anders sein wird, Server-Konfiguration in Abhängigkeit von. aber es muss der vollständige Pfad sein, den Sie dort ausgeben müssen.