r - 通过 httr 向 FB 发送 POST 请求时出错
问题描述
我正在通过 httr 处理 FB 请求并不断遇到相同的错误。
这就是我为请求创建正文并使用 jsonlite 库将其转换为 JSON 对象的方式:
body <- list()
innerBody <- list()
innerBody$video_id <- videoID
body$canvas_video <- innerBody
body$access_token<-Pagetoken
toJSON(body, pretty = TRUE)
所有字段都是我尝试提出的请求所必需的。输出是以下 JSON 对象:(请注意我已删除隐私令牌)
{
"canvas_video": {
"video_id": ["10160728276111111"]
},
"access_token": [<TOKEN>]
}
我通过以下电话向 facebook 提出请求(请注意,由于隐私,我删除了页面 ID):
Test<-POST(url'https://graph.facebook.com/v3.1/<PAGEID>/canvas_elements',
body = body,enconde=c("json"))
预期结果如下:
{
"id": "1111154434423329"
}
但我不断收到此错误:
Error in curl::handle_setform(handle, .list = req$fields) :
Unsupported value type for form field 'canvas_video'.
任何帮助将不胜感激。
请注意,由于页面权限,我必须通过参数而不是通过身份验证功能设置令牌。
(更新)修复了标题中的错字
(更新 2)经过一些测试,我几乎可以肯定问题出在嵌套的 JSON 对象上
解决方案
推荐阅读
- mysql - 从所有具有相同前缀的表中选择 *
- r - R动态调用不同的变量
- java - 尝试将 ojdbc7 作为 maven 依赖项安装时出现问题
- css - 编写媒体查询,我不明白为什么它会改变我的 img 宽度而不是高度?
- python - 爬虫代码在 PyCharm 本地运行成功,但在 Notebook 中出现错误
- forms - 在 vuejs 中提交表单数据时出错
- jakarta-ee - 将入站电子邮件数据提取到 J2ee 应用程序中
- docker - 从 Compose 运行时 Docker Jenkins Home (/var/jenkins_home) 文件夹权限问题
- amazon-web-services - 从 Cloudformation 运行 AWS CLI KMS 加密命令
- r - `is()` 和 `is...()` 函数之间的区别