Facebook的批量请求不捡了JSON参数

问题描述:

我的目标是使用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工具发送完全相同的请求,它成功地创建了广告。

根据其提供创造你应该张贴到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参考广告素材。在我的问题中,您会看到我试图通过传递整个广告素材凭据来制作广告。在任何一种情况下,我面临的错误都是一样的(请参阅上文) –

我认为该消息是一个红色的鲱鱼 - 它没有看到你身上的创造性的领域,因为您的POSTman请求中没有正确设置OAuth,因此它不会解析正文或查看广告素材字段。

如果你不知道如何在邮递员设置OAuth的,这里有一个很好的教程: https://docs.brightcove.com/en/video-cloud/concepts/postman/postman.html

+0

你对@“没有看到你身体的创意领域”。无论我做什么,POSTMAN都不会看到它。我的PHP代码也会返回相同的错误。不过,如果我在图形浏览器中使用完全相同的JSON,则会创建一个广告。 –