我正在尝试使用此处的说明从命令行创建OAuth令牌.我可以curl从命令行使用,并获得正确的响应
curl -u 'username:pwd' -d '{"scopes":["user", "gist"]}' \
https://api.github.com/authorizations
Run Code Online (Sandbox Code Playgroud)
现在,我想在R中使用RCurl或复制相同的内容httr.这是我尝试过的,但两个命令都返回错误.谁能指出我在这里做错了什么?
httr::POST(
'https://api.github.com/authorizations',
authenticate('username', 'pwd'),
body = list(scopes = list("user", "gist"))
)
RCurl::postForm(
uri = 'https://api.github.com/authorizations',
.opts = list(
postFields = '{"scopes": ["user", "gist"]}',
userpwd = 'username:pwd'
)
)
Run Code Online (Sandbox Code Playgroud)
这个问题很老了,但也许对某些人仍然有帮助:问题应该是 opts 参数以错误的方式传递(缺少curlOptions函数调用)。以下内容在不同的环境下对我有用:
result <- getURL(url,.opts=curlOptions(postfields=postFields))
Run Code Online (Sandbox Code Playgroud)
(是的,据我所知,您可以使用 getURL 函数来处理 POST 请求)。