首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R httr put请求

R httr put请求
EN

Stack Overflow用户
提问于 2016-05-31 05:14:20
回答 1查看 707关注 0票数 0

我正在尝试将一些PUT请求插入到一些遗留的R代码中,这些代码在一个小型数据库上执行日常ETL。这些请求会将用户添加到MailChimp中的电子邮件列表。

我已经能够将我的get请求格式化为R(特别是httr包)可以接受的语法:

GET("https://us10.api.mailchimp.com/3.0/lists/list_id_XXXXX/members/MEMBER_HASH_#######",query = list(apikey = 'XXXXXXXXXXXXXX'))

但是,当我尝试对PUT请求执行类似的操作时,这种简单的语法并不起作用--您不能直接通过URL传递API密钥和/或请求的参数。如果我使用与GET相同的语法,我会得到一个401错误。

我相信我需要使用CONFIG选项来传递API (使用AUTHENTICATE或ADD_HEADERS)和主体中请求的参数来使PUT请求工作,但是我不能使语法工作-这给出了一个400错误:

auth <- authenticate("anystring",“

如果有人可以给我一个更好的例子,那就是amazing...but,即使只是一些关于如何获得更多关于我的错误消息的信息的提示,以帮助我解决我的语法问题,也将是一个很大的帮助。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-06-13 23:43:19

从R用户组获得了一些帮助,邮寄下面的list...the代码现在可以工作了,并将PUT请求发送到应用程序接口。

代码语言:javascript
复制
auth         <- authenticate("<USER_NAME>", "<API KEY>", type = "basic")
params       <- list(email_address = email_to_add, status_if_new ="subscribed")
path         <- "https://us10.api.mailchimp.com/3.0/lists/xxxxxxxx/members/hash_email_to_add"
path         <- gsub('hash_email_to_add',digest(email_to_add,algo="md5",serialize=F),path)

PUT(url=path,
config = auth,
body = params,
encode = "json"

)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37533734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档