Facebook 对象\故事\规范必须是关联数组

Facebook 对象\故事\规范必须是关联数组,facebook,facebook-graph-api,facebook-marketing-api,Facebook,Facebook Graph Api,Facebook Marketing Api,我想创建一个有创意的api。当我发布object_story_spec参数时,我得到了这个错误“Creative spec必须是一个关联数组(可选json编码)” 这是我的json值,它是有效的 { "page_id" : "103830656322074", "link_data": { "call_to_action": {"type":"LEARN_MORE","value":{"link":"facebook.com/"}}, "caption": "Reklam #1", "name"

我想创建一个有创意的api。当我发布object_story_spec参数时,我得到了这个错误“Creative spec必须是一个关联数组(可选json编码)”

这是我的json值,它是有效的

{ "page_id" : "103830656322074", "link_data": { "call_to_action": {"type":"LEARN_MORE","value":{"link":"facebook.com/"}}, "caption": "Reklam #1", "name": "Reklam #1", "link": "facebook.com/", "message": "facebook.com/" }}

developers.facebook.com/docs/marketing-api/reference/ad-creative#Creating

这应该像是什么

object_story_spec={ 
                    "page_id": "<PAGE_ID>", 
                    "video_data": { 
                      "call_to_action": {"type":"LIKE_PAGE","value":{"page":"<PAGE_ID>"}}, 
                      "description": "try it out", 
                      "image_url": "<THUMBNAIL_URL>", 
                      "video_id": "<VIDEO_ID>" 
                    } 
                  }


Or

$object_story_spec = new ObjectStorySpec();
        $object_story_spec->setData(array(
            ObjectStorySpecFields::PAGE_ID => <PAGE_ID>,
            ObjectStorySpecFields::LINK_DATA => <LINK_DATA>,
        ));

 $creative = new AdCreative(null, 'ad_Acount_id');
        $creative->setData(array(
            AdCreativeFields::NAME => 'Sample Creative',
            AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec,
        ));
object\u story\u spec={
“页码id”:“,
“视频数据”:{
“调用动作”:{“类型”:“类似页面”,“值”:{“页面”:“}},
“说明”:“试用”,
“图像url”:“”,
“视频id”:”
} 
}
或
$object_story_spec=新的ObjectStorySpec();
$object\u story\u spec->setData(数组(
ObjectStorySpecFields::PAGE_ID=>,
ObjectStorySpecFields::LINK_DATA=>,
));
$creative=new AdCreative(空,'ad\u Acount\u id');
$creative->setData(数组)(
AdCreativeFields::NAME=>Sample Creative,
AdCreativeFields::OBJECT\u STORY\u SPEC=>$OBJECT\u STORY\u SPEC,
));

您应该在传递到以下创造性文档之前,将$object\u story\u规范链接到url enocde。


我解决了将account developer升级到基本帐户的问题
$object_story_spec = urlencode($object_story_spec);
$creative = new AdCreative(null, 'ad_Acount_id');
        $creative->setData(array(
            AdCreativeFields::NAME => 'Sample Creative',
            AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec,
        ));