使用Facebook Ads API创建广告图片时遇cURL 26错误求助
解决Facebook Ads PHP SDK创建广告图片时curl: (26)错误
错误原因
你遇到的curl: (26) Failed to open/read local data from file/application错误,是因为错误地将远程图片URL赋值给了filename参数。Facebook Ads SDK中,filename参数用于指定本地文件路径,当传入远程URL时,SDK会尝试将其当作本地文件读取,自然找不到对应的文件,从而触发curl读取失败的错误。
解决方案
如果你想通过远程URL让Facebook直接拉取图片,应该使用image_url参数而非filename。修正后的代码如下:
$formatted_params['image_url'] = "https://res.cloudinary.com/{further_image_path}"; $image_params['image_url'] = $formatted_params['image_url']; // 使用image_url参数传递远程图片地址 $image = (new AdAccount('act_'.(string) $this->advertiser_id))->CreateAdimage([], $image_params);
额外说明
- 若你需要上传本地图片,才需要使用
filename参数,示例如下:$image_params['filename'] = '/absolute/path/to/your/local/image.jpg'; $image = (new AdAccount('act_'.(string) $this->advertiser_id))->CreateAdimage([], $image_params); - 确保你的广告账户拥有
ads_management权限,且你使用的SDK版本(^14.0.0)完全支持image_url参数的用法。
内容的提问来源于stack exchange,提问作者Adish Katkar
相关产品推荐
相关产品推荐

