Ich versuche, ein Bild auf Facebooks Ads Management API in Powershell zu laden, um den Image-Hash später beim Erstellen der eigentlichen Anzeige zu verwenden.Hochladen eines Bildes mit Facebook Ads Management API
$fileName = "adimage.jpg"
$fileContent = get-content $fileName
$fileContentBytes = [System.Text.Encoding]::UTF8.GetBytes($fileContent)
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
$parameters = @{
access_token = "abc"
bytes = $fileContentEncoded
}
$result = Invoke-WebRequest -Uri "https://graph.facebook.com/v2.7/act_12345678/adimages" -Method Post -ContentType "image/jpeg" -body $parameters
ich immer:
{"error":{"message":"Invalid parameter","type":"OAuthException","code":100,"error_subcode":1487242,
"is_transient":false,"error_user_title":"Image Resize Failed",
"error_user_msg":"Image Resize Failed:Could not get image size","fbtrace_id":"Bl\/fu39rM2W"}}
Die API-Seite für den adimages Endpunkt ist: https://developers.facebook.com/docs/marketing-api/reference/ad-image
Wir haben im Grunde für das Äquivalent von
curl -F "[email protected]" -F "access_token=abc" https://graph.facebook.com/v2.7/act_12345678/adimages
Ich habe suchen auch versucht:
- ein PNG-Bild
- mit „Bytes = (get-Inhalt adimage.jpg-Raw)“
- das Bild über den -infile Parameter veröffentlichen und das Hinzufügen des Zugriffstoken als Parameter statt als mit Formularfeld
- das Ergebnis dieser (und auch von einigen anderen Variationen) ist, dass ich keinen Fehler und eine 200-Antwort erhalten, aber ein leeres Inhaltsfeld und keine Datei hochgeladen wird entweder
Die Bilder in Frage sind: https://www.dropbox.com/s/hkx236uiiy1p54e/adimage.jpg?dl=0 und https://www.dropbox.com/s/gf9on4w8ijbfwl8/adimage.png?dl=0
Hochladen über die GUI Vermögensverwaltung tätig.
Irgendwelche Ideen?
Sandro
Update: es in der Tat auf einem Mac wie ein Zauber mit curl funktioniert. Das macht es noch unwahrscheinlicher, dass es um die Bilder selbst geht.
kann es nicht zu arbeiten. Verwenden einer sehr groben Workaround, die CURL jetzt von einer Cygwin-Installation verwendet. Bitte posten Sie trotzdem eine Antwort, wenn Sie etwas beizutragen haben. Vielen Dank :-) – Sandro