2013-04-20 57 views
9

我正在嘗試使用instructions here從命令行創建OAuth令牌。我能夠使用curl命令行,並得到正確的響應使用RCurl/httr進行Github基本授權

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

現在,我想用RCurlhttr複製中的R相同。這是我試過的,但是這兩個命令都返回一個錯誤。任何人都可以指出我在這裏做錯了嗎?

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' 
) 
) 
+2

,嘗試添加'httpauth = 1L' – 2013-04-20 15:12:56

+1

嘗試使用冗餘標誌,看看到底發生了什麼事 – hadley 2013-04-20 15:48:17

+0

而在'authenticate',設置'TYPE = 「基本」' – hadley 2013-04-20 15:50:09

回答

0

的問題是舊的時代,但也許還是有幫助的一些:這個問題應是OPTS參數是在錯誤的道路(缺乏curlOptions函數調用)通過。以下在不同的上下文中工作:

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

(是的,據我所知,你可以使用getURL函數的POST請求)。在`.opts`列表