首页 > 解决方案 > 通过 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 对象上

标签: rfacebookapicurlhttr

解决方案


推荐阅读