10

我正在尝试使用此处的说明从命令行创建 OAuth 令牌。我可以curl从命令行使用,并得到正确的响应

curl -u 'username:pwd' -d '{"scopes":["user", "gist"]}' \
  https://api.github.com/authorizations

现在,我想在 R 中使用RCurlor复制相同的内容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'
  )
)
4

1 回答 1

0

这个问题由来已久,但可能对某些人仍然有帮助:问题应该是 opts 参数以错误的方式传递(缺少 curlOptions 函数调用)。以下内容在不同的情况下对我有用:

result <- getURL(url,.opts=curlOptions(postfields=postFields))

(是的,据我所知,您可以将 getURL 函数用于 POST 请求)。

于 2014-10-31T07:14:08.287 回答