【发布时间】:2021-09-21 12:38:31
【问题描述】:
我正在尝试使用 Facebooks API here 上传一些内容,但我不断收到错误消息“此字段必须是字符串。”,这似乎与我解析“数据”字段的方式有关(如果我将它复制粘贴到他们的 Graph API 中,它可以正常工作)。
如果你不知道file 到 Facebook 的 API 是什么;
data - json array of data
upload_tag - string
access_token - token
现在我将数据保存在 pandas 数据框中,我正在使用 data = df.to_json(orient="records") 生成解析到 data 字段中的 json 字符串
data = df.to_json(orient="records")
file = {"access_token":token
upload_tag: "test",
data = data}
r = requests.post(f"https://graph.facebook.com/v11.0/{offline_event_id}/events",files = file)
#{"error":{"message":"(#100) This field must be a string.","type":"OAuthException","code":100,"fbtrace_id":"some_code"}}
我尝试了数据字符串的不同格式,但得到了相同的错误(即使将 Facebook 的示例字符串复制粘贴到我的代码中)。
我想知道在发送 POST 请求时,请求是否以错误的方式格式化文件?查看r.request.body(Facebook 示例数据)我得到以下信息
Content-Disposition: form-data; name="data"; filename="data"
[{"match_keys": {"phone": ["HASH1", "HASH2"], "email": ["HASH3", "HASH4"]}, "currency": "USD", "value": 16, "event_name": "Purchase", "event_time": 1456870902}]
这确实似乎不是一个字符串
【问题讨论】:
标签: python json facebook-graph-api python-requests