【问题标题】:cURL Facebook API request argument list too longcURL Facebook API 请求参数列表太长
【发布时间】:2021-07-01 15:27:35
【问题描述】:

我正在使用 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 长的散列电子邮件列表。这是我一直在使用的文档的链接:Facebook Documentation

错误./facebook_api.sh: line 91: /bin/curl: cannot execute [Argument list too long] 任何帮助都会很棒。

【问题讨论】:

    标签: api facebook unix curl facebook-graph-api


    【解决方案1】:

    我已经通过更改内容类型并使用名为“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 找到了这个解决方案,它描述了使用--data-urlencode 时的cURL 请求和选项。文件中的数据看起来与我在问题中使用的数据完全相同。

    【讨论】:

      猜你喜欢
      • 2019-06-03
      • 2021-10-28
      • 2019-02-22
      • 2023-01-20
      • 1970-01-01
      • 2016-09-17
      • 2017-11-30
      • 2020-05-09
      • 2014-05-21
      相关资源
      最近更新 更多