2015-01-10 21 views
6

Szukam wszędzie i nie udało mi się znaleźć odpowiedniego przykładu i nie jestem wystarczająco zorientowany, aby móc go rozwiązać za pomocą dokumentów . Czy ktoś z większą wiedzą niż ja pokazuje mi, jak utworzyć polecenie CURL dla OAUTH 2? I czy potrzebuję tylko tajnego klucza OAUTH 2? Wyświetlany jest klucz aplikacji, tajna aplikacja i oauth 2. Używam tego w skrypcie perla, jeśli ma to znaczenie.Przykład interfejsu API DropBox PUT przy użyciu Curl i Oauth 2, aby przesłać plik do DropBox

Najbliższy kod znalazłem to:

curl --request PUT --header "Content-Length: `ls -la jonathan.txt | awk '{ print $5}'`" --header   
"Content-Type: multipart/mixed" --data-binary "@jonathan.txt" "https://api-  
content.dropbox.com/1/files_put/dropbox/jonathan.txt?access_token=ABCDEF" 

Ale nie sądzę, że jest OAuth 2?

Odpowiedz

12

Jeśli masz token dostępu (utworzone za pośrednictwem konsoli app):

curl -H "Authorization: Bearer <your token>" https://api-content.dropbox.com/1/files_put/auto/ -T <your file path> 
9

Potrzebujesz token dostępu dla konta. (Zazwyczaj uzyskuje się to przez przepuszczanie przez OAuth, ale możesz go również uzyskać na własne konto, klikając przycisk "Wygeneruj" na stronie aplikacji Dropbox.) https://www.dropbox.com/developers/blog/94/generate-an-access-token-for-your-own-account.)

Po uzyskaniu dostępu token, twoje polecenie curl prawdopodobnie powinno działać, chociaż wolę --header "Authorization:Bearer abc123xyz" od umieszczenia tokenu dostępu w parametrze zapytania. Upuść też Content-Type: multipart/mixed, bo to nie jest to, co wysyłasz.

Polecam również "auto" zamiast "dropbox", ponieważ zawsze działa to, co trzeba, bez względu na rodzaj aplikacji.

+0

Dzięki za to. Chciałbym móc zatwierdzić oba, ale ponieważ Hans uczynił to nieco prostszym, układając kod, który mu dałem. Jednak doceniam dodatkowe informacje. – CRAIG