Aprenda a renovar seu access token do Dropbox com um refresh token. Siga nosso guia passo a passo para realizar o procedimento.
Infelizmente o access token do Dropbox é limitado à 4 horas. Mas é possível contornar isso utilizando do seu refresh token, que é um token que permite você obter um novo access token sempre que seu access token expirar. Note que ensinaremos como realizar o procedimento manualmente, após entender o fluxo de autenticação você pode adaptar para sua linguagem de programação preferida.
Primeiramente acesse a página do seu app no Dropbox em https://www.dropbox.com/developers/apps e anote seu “App key” e “App secret”, lembre-se de deixar habilitado como “Allow” a opção: Allow public clients (Implicit Grant & PKCE).
Copie a url abaixo substituindo
[https://www.dropbox.com/oauth2/authorize?token_access_type=offline&response_type=code&client_id=
]
Cole a url em seu navegador e entre com a conta no Dropbox que deseja utilizar como local de upload, autorize utilizar seu aplicativo nessa conta e anote o “Código de acesso gerado” pois precisaremos dele!
Agora abra o prompt de comando para utilizar o comando curl a seguir:
[curl https://api.dropbox.com/oauth2/token -d code=
-d grant_type=authorization_code -u : ]
Substitua
[{“access_token”: “sl.yyy…”, “token_type”: “bearer”, “expires_in”: 14400, “refresh_token”: “xxx…”, “scope”: “account_info.read files.content.write files.metadata.read files.metadata.write”, “uid”: “9999”, “account_id”: “dbid:zzz…”}]
Pronto agora você tem seu refresh token, exemplo: xxx…
Com o refresh token você pode obter um novo access token sempre que ele expirar, para isso utilize do comando abaixo:
[curl https://api.dropbox.com/oauth2/token -d refresh_token=
-d grant_type=refresh_token -d client_id= -d client_secret= ]
Substitua
[{“access_token”: “sl.yyy…”, “token_type”: “bearer”, “expires_in”: 14400}]
Agora é só utilizar o access_token da resposta como seu access token para realizar upload em sua conta no Dropbox. Para mais informações acesse https://dropbox.tech/developers/using-oauth-2-0-with-offline-access .