I am trying to download files from a private repo with bitbucket. I am using oauth 2 and following this guide: https://developer.atlassian.com/blog/2016/02/bitbucket-oauth-with-python/
It seems to get stop at: redirect_response = raw_input('Paste the full redirect URL here:') and I get:
<span>Please</span><span> go here </span><span>and</span><span> authorize</span><span>:</span><span> https</span><span>://</span><span>bitbucket</span><span>.</span><span>org</span><span>/</span><span>site</span><span>/</span><span>oauth2</span><span>/</span><span>authorize</span><span>?</span><span>response_type</span><span>=</span><span>code</span><span>&</span><span>client_id</span><span>=&</span><span>state</span><span>=</span><span>WDWADWADWADWADWDA
https</span><span>://</span><span>api</span><span>.</span><span>bitbucket</span><span>.</span><span>org</span><span>/</span><span>2.0</span><span>/</span><span>repositories</span><span>/</span><span>Tysondogerz</span><span>/</span><span>more</span><span>/</span><span>downloads</span><span>:</span><span> https</span><span>://</span><span>api</span><span>.</span><span>bitbucket</span><span>.</span><span>org</span><span>/</span><span>2.0</span><span>/</span><span>repositories</span><span>/</span><span>Tysondogerz</span><span>/</span><span>more</span><span>/</span><span>downloads</span>
How do I authenticate this so it runs? New to bitbucket and can't find much on this
Code:
from requests_oauthlib import OAuth2Session
class ClientSecrets:
'''
The structure of this class follows Google convention for `client_secrets.json`:
https://developers.google.com/api-client-library/python/guide/aaa_client_secrets
Bitbucket does not emit this structure so it must be manually constructed.
'''
client_id = "32313123123123"
client_secret = "321d12e2131312323"
redirect_uris = [
"https://api.bitbucket.org/2.0/repositories/Tysondogerz/more/downloads" # Used for testing.
]
auth_uri = "https://bitbucket.org/site/oauth2/authorize"
token_uri = "https://bitbucket.org/site/oauth2/access_token"
server_base_uri = "https://api.bitbucket.org/"
def main():
c = ClientSecrets()
# Fetch a request token
bitbucket = OAuth2Session(c.client_id)
# Redirect user to Bitbucket for authorization
authorization_url = bitbucket.authorization_url(c.auth_uri)
print('Please go here and authorize: {}'.format(authorization_url[0]))
# Get the authorization verifier code from the callback url
redirect_response = input('Paste the full redirect URL here:
https://api.bitbucket.org/2.0/repositories/Tysondogerz/more/downloads')
# Fetch the access token
bitbucket.fetch_token(
c.token_uri,
authorization_response=redirect_response,
username=c.client_id,
password=c.client_secret)
# Fetch a protected resource, i.e. user profile
r = bitbucket.get(c.server_base_uri + '1.0/user')
print(r.content)
if __name__ == '__main__':
main()