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:
Please go here and authorize: https://bitbucket.org/site/oauth2/authorize?response_type=code&client_id=&state=WDWADWADWADWADWDA
https://api.bitbucket.org/2.0/repositories/Tysondogerz/more/downloads: https://api.bitbucket.org/2.0/repositories/Tysondogerz/more/downloads
How do I authenticate this so it runs? New to bitbucket and can't find much on this
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()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.