gpt4 book ai didi

r - 在 r 中使用 httr 格式化 POST 正文

转载 作者:行者123 更新时间:2023-12-02 04:23:33 28 4
gpt4 key购买 nike

我正在尝试更改 hubspot 中的联系人属性值。

文档:https://developers.hubspot.com/docs/methods/contacts/update_contact

该项目存在于一系列以 JSON 编码的数据帧中(请参阅下面的 GET 请求)

我尝试了几种格式

1)遵循GET请求格式

library(httr)
library(jsonlite)
URL <- paste0('https://api.hubapi.com/contacts/v1/contact/vid/',VID,'/profile?hapikey=',hapikey, sep = "")
GURL <- GET(url = URL)

Contact <- content(URL, as = "text")
Contact <- fromJSON(Contact)

Contact$properties$needs_statements$value
#returns
[1] "Yes"

#so then working backwards in the POST request:
body <- toJSON('No', content$properties$property$needs_statements$value)

#alternatively
body <- list('No', content$properties$property$needs_statements$value)

#alternatively
body <- ('No', content$properties$property$needs_statements$value)

#Post Request
POST( url = URL, body = body, encode = "json")

2)尝试遵循文档中的python格式
library(httr)

body <- '{
"properties": [
{
"property": "needs_statements",
"value": "No"]}
}'

#alternatively
body <- toJSON('{
"properties": [
{
"property": "needs_statements",
"value": "No"
}
]
}')

#Post Request
POST( url = URL, body = body, encode = "json")

我也试过 encode = "raw" encode = "form"
这些都是拉回代码 400,它指示请求正文中的错误。

拍摄 204。

我不包括标题或 cookie 或其他任何东西。我也很难找到这方面的任何信息。

非常感谢任何帮助。

最佳答案

好的,所以在吃了一些食物和思考之后,一个快速的谷歌产生了这个:
https://cran.r-project.org/web/packages/jsonlite/vignettes/json-aaquickstart.html

测试可用于执行此操作:
fromJSON('[{"name":"Erik", "age":43}, {"name":"Anna", "age":32}]')
它打印一个数据框。

 name age
1 Erik 43
2 Anna 32

对我来说棘手的部分是需要获得与原始 GET 请求相同的结构。

(我试图构建数据框的数据框,但进展不顺利)

然后我回想起上面的测试,并认为我可以对 JSON 进行相同的测试。我做到了,并创建了一个元素。
x <- fromJSON('{
"properties": [
{
"property": "needs_statements",
"value": "No"
}
]
}')

和繁荣:204

关于r - 在 r 中使用 httr 格式化 POST 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57183601/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com