cURL Facebook API 请求参数列表太长
cURL Facebook API request argument list too long
我正在使用 Facebook Graph API 将用户列表上传到自定义受众。在此操作的文档中,它说我应该能够一次上传多达 10,000 个用户。但是,cURL 阻止我使用当前命令的格式这样做,并且文档没有提供任何其他格式化请求的选项。
这是我目前拥有的:
curl -X $HTTP_REQUEST_TYPE \
-H "Content-Type: application/json" \
--data-urlencode payload='{"schema": ["EMAIL_SHA256"],"data": ['$EMAIL_JSON']}' \
-d "access_token=$API_KEY" \
https://graph.facebook.com/v11.0/$AUDIENCE_ID/users
我尝试将负载和 access_token 添加为 json 格式的文件,但 API 拒绝 post 方法。 $EMAIL_JSON 是 10,000 长的散列电子邮件列表。这是我一直在使用的文档的 link:Facebook Documentation.
错误./facebook_api.sh: line 91: /bin/curl: cannot execute [Argument list too long]
任何帮助都会很棒。
我已经通过更改内容类型并使用名为“tempJson”的文件来存储数据来解决了这个问题:
curl -X $HTTP_REQUEST_TYPE \
-H 'Content-Type: application/x-www-form-urlen-coded' \
--data-urlencode payload@tempJson \
-d "access_token=$API_KEY" \
https://graph.facebook.com/v11.0/$AUDIENCE_ID/users
如您所见,我使用 payload@tempJson 来指定参数名称,以及其中包含的数据。我在 this website 找到了这个解决方案,它描述了 cURL 请求和使用 --data-urlencode
时的选项。文件中的数据看起来与我在问题中使用的数据完全相同。
我正在使用 Facebook Graph API 将用户列表上传到自定义受众。在此操作的文档中,它说我应该能够一次上传多达 10,000 个用户。但是,cURL 阻止我使用当前命令的格式这样做,并且文档没有提供任何其他格式化请求的选项。 这是我目前拥有的:
curl -X $HTTP_REQUEST_TYPE \
-H "Content-Type: application/json" \
--data-urlencode payload='{"schema": ["EMAIL_SHA256"],"data": ['$EMAIL_JSON']}' \
-d "access_token=$API_KEY" \
https://graph.facebook.com/v11.0/$AUDIENCE_ID/users
我尝试将负载和 access_token 添加为 json 格式的文件,但 API 拒绝 post 方法。 $EMAIL_JSON 是 10,000 长的散列电子邮件列表。这是我一直在使用的文档的 link:Facebook Documentation.
错误./facebook_api.sh: line 91: /bin/curl: cannot execute [Argument list too long]
任何帮助都会很棒。
我已经通过更改内容类型并使用名为“tempJson”的文件来存储数据来解决了这个问题:
curl -X $HTTP_REQUEST_TYPE \
-H 'Content-Type: application/x-www-form-urlen-coded' \
--data-urlencode payload@tempJson \
-d "access_token=$API_KEY" \
https://graph.facebook.com/v11.0/$AUDIENCE_ID/users
如您所见,我使用 payload@tempJson 来指定参数名称,以及其中包含的数据。我在 this website 找到了这个解决方案,它描述了 cURL 请求和使用 --data-urlencode
时的选项。文件中的数据看起来与我在问题中使用的数据完全相同。