使用RCurl/httr进行Github基本授权

Ram*_*ath 10 r rcurl httr

我正在尝试使用此处说明从命令行创建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)

Val*_*tin 0

这个问题很老了,但也许对某些人仍然有帮助:问题应该是 opts 参数以错误的方式传递(缺少curlOptions函数调用)。以下内容在不同的环境下对我有用:

result <- getURL(url,.opts=curlOptions(postfields=postFields))
Run Code Online (Sandbox Code Playgroud)

(是的,据我所知,您可以使用 getURL 函数来处理 POST 请求)。