2013-04-20 10 views
9

Próbuję utworzyć token OAuth z wiersza poleceń przy użyciu instructions here. Jestem w stanie wykorzystać curl z linii poleceń i uzyskać prawidłową odpowiedźUżywanie RCurl/httr do Github Basic Authorization

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

Teraz chcę powtórzyć to samo w R stosując RCurl lub httr. Oto, co próbowałem, ale obie polecenia zwracają błąd. Czy ktoś może wskazać, co tu robię źle?

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

w '.opts' liście, spróbuj dodać' httpauth = 1L' –

+1

Spróbuj użyć opisowy flagę, aby zobaczyć dokładnie, co się dzieje – hadley

+0

I 'authenticate' ustaw' type = "podstawowy" ' – hadley

Odpowiedz

0

Pytanie brzmi wieki stare, ale może nadal pomocny dla niektórych: Problem powinien być tak, że wybiera argumenty przekazywane są w niewłaściwy sposób (brakuje do curlOptions wywołanie funkcji). Następujące pracował dla mnie w innym kontekście:

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

(i tak, o ile wiem, można użyć funkcji getURL dla żądań POST).