2

我的目標是使用Facebook的批量API來創建一些廣告:https://developers.facebook.com/docs/marketing-api/asyncrequests/v2.9Facebook的批量請求不撿了JSON參數

我送這個URL POST請求:

https://graph.facebook.com/v2.9/act_158365238/ads 

我發送2個參數作爲每文檔:

1-

的access_token

2-批次

的JSON在參數看起來像:

{ 
    "method": "POST", 
    "relative_url": "v2.9\/act_158365238\/ads", 
    "attached_files": "test1", 
    "body": "creative={\"title\":\"Test title 1\",\"body\":\"Test body 1\",\"object_url\":\"https:\/\/apps.facebook.com\/testapp\/\", \"image_file\":\"test1.jpg\"}&targeting={\"countries\":[\"US\"]}&name=test1" 
} 

的問題

當我送與郵差或我的PHP代碼的請求時,它拋出以下錯誤

{ 
    "error": { 
    "message": "(#100) The parameter creative is required", 
    "type": "OAuthException", 
    "code": 100, 
    "fbtrace_id": "Gj2sG7N8l1f" 
    } 
} 

但是wh我通過Facebook的Graph API工具發送完全相同的請求,它成功地創建了廣告。

回答

1

根據其提供創造你應該張貼到URL 「V2.9/act_187687683/adcreatives」素材API Documentation ......你是顯示該批次的片段用於創建一個廣告。

如果像你說的,你的目的是建立一個AdCreative那麼你應該使用類似上述情況,其不同之處在於從你使用的是什麼:

  { 
      "method": "POST", 
      "name": "create_creative", 
      "relative_url": "v2.9/act_187687683/adcreatives", 
      "attached_files": "test1", 
      "body": "title=Test title&body=Test body&link_url=http://www.test12345.com&image_file=test1.jpg" 
     } 

在另一方面,如果您要創建的是一個添加項,那麼您應該考慮參考AdCreative,正如在示例中所做的那樣,因此,如果在同一批次中添加了廣告素材,則可以使用相對引用到名稱

  creative={\"creative_id\":\"{result=create_creative:$.id}\"} 

,或者如果它是一個創造性的已經創造了你可以通過CREATIVE_ID引用它:

  creative={\"creative_id\":\"123456\"} 
+0

我miswrote。我需要製作廣告而不是廣告素材。讓我編輯它。我已經嘗試通過ID參考廣告素材。在我的問題中,您會看到我試圖通過傳遞整個廣告素材憑據來製作廣告。在任何一種情況下,我面臨的錯誤都是一樣的(請參閱上文) –

0

我認爲該消息是一個紅色的鯡魚 - 它沒有看到你身上的創造性的領域,因爲您的POSTman請求中沒有正確設置OAuth,因此它不會解析正文或查看廣告素材字段。

如果你不知道如何在郵遞員設置OAuth的,這裏有一個很好的教程: https://docs.brightcove.com/en/video-cloud/concepts/postman/postman.html

+0

你對@「沒有看到你身體的創意領域」。無論我做什麼,POSTMAN都不會看到它。我的PHP代碼也會返回相同的錯誤。不過,如果我在圖形瀏覽器中使用完全相同的JSON,則會創建一個廣告。 –