首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用R向API (签名V4)发送API请求

如何使用R向API (签名V4)发送API请求
EN

Stack Overflow用户
提问于 2019-05-22 17:45:12
回答 1查看 99关注 0票数 0

MturkR包(https://github.com/cloudyr/MTurkR)将于2019年6月1日停止工作,因为AWS拒绝推荐遗留API,并且该包仅为遗留API配置。

我想,其他许多人将需要一种通过R调用MTurk API的方法,因为我不知道有任何其他R包能够做到这一点。

有人能提供一些示例代码,说明如何通过R调用新的mturk吗?它使用了签名版本4,我知道它可以用R的aws.signature包实现,但我不知道如何生成请求并将请求发送到mturk。可能我没有正确地配置请求,因此一个对我自己和其他人都很有用的例子。在本例中,我试图请求一个GetAssignment操作(GetAssignmentOperation.html)。

我尝试过使用aws.signature包生成和发送请求,但没有成功。

代码语言:javascript
复制
library(aws.signature)


hdrs <- list( Host = "mturk-requester.us-east-1.amazonaws.com",
             `x-amz-date` = "20110909T233600Z"
                 )

hdrs

r <- canonical_request(verb = "POST",
                  canonical_uri="/",
                  query_args=list(),
                  canonical_headers=hdrs,
                  request_body='
                  { 
                  "AssignmentId": "3ZURAPD288NZQKK965W2FVL02P6F17"
                }')
r

这将生成规范请求的文本,但我不知道如何将其发送到API,也不知道是否需要更多函数来完成签名。

响应:

R $headers 1“主机;x-amz-日期”

"1d67d950ce9a1f712609c9c9d794b210d8c78bc0334e54f0fdcb4fd46d65f3f5“$body 1

"POST\n/\n\nhost:mturk-requester.us-east-1.amazonaws.com\nx-amz-date:20110909T233600Z\n\nhost;x-amz-date\n1d67d950ce9a1f712609c9c9d794b210d8c78bc0334e54f0fdcb4fd46d65f3f5“$canonical 1

"16814afb1f9c9c5094a8b3ede035365a687c68c7b6dcbe0f688aaeb8b6656f10“$hash 1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 21:17:04

我也有同样的问题。有人将他的最新版本的MTurkR发布给Github:https://github.com/cloudyr/pyMTurkR

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

https://stackoverflow.com/questions/56262306

复制
相关文章

相似问题

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