Esempio n. 1
0
 def token_updater(token):
     global AccessToken
     global RefreshToken
     global ExpiresAt
     AccessToken = token['access_token']
     RefreshToken = token['refresh_token']
     ExpiresAt = token['expires_at']
     print_data(token, 0, 1)
     WriteTokens(AccessToken.encode('utf-8'), RefreshToken.encode('utf-8'),
                 ExpiresAt)
     return token
Esempio n. 2
0
def GetNewAccessToken(RefToken):
    print_json('status', 'Getting a new access token')

    #Form the data payload
    BodyText = {'grant_type': 'refresh_token', 'refresh_token': RefToken}
    #URL Encode it
    BodyURLEncoded = urlencode(BodyText).encode("utf-8")
    #print "Using this as the body when getting access token >>" + BodyURLEncoded

    #Start the request
    tokenreq = Request(TokenURL, BodyURLEncoded)
    print(TokenURL)
    print(BodyURLEncoded)
    #Add the headers, first we base64 encode the client id and client secret with a : inbetween and create the authorisation header
    head = client_id + ':' + client_secret
    byteHead = head.encode("ascii")
    encoded_data = base64.b64encode(byteHead)
    #tokenreq.add_header('Authorization', 'Basic ' + base64.b64encode(client_id + b':' + client_secret))
    tokenreq.add_header('Authorization', 'Basic ' + str(encoded_data))
    tokenreq.add_header('Content-Type', 'application/x-www-form-urlencoded')

    #Fire off the request
    try:
        tokenresponse = urlopen(tokenreq)
        #See what we got back. If it's this part of the code it was OK
        FullResponse = tokenresponse.read()
        #Use JSON to extract tokens
        ResponseJSON = json.loads(FullResponse)
        print(ResponseJSON)
        #Read the access token as a string
        NewAccessToken = str(ResponseJSON['access_token'])
        NewRefreshToken = str(ResponseJSON['refresh_token'])
        #print ResponseJSON['expires_at']
        #Write the access token to the ini file
        WriteTokens(NewAccessToken, NewRefreshToken)

        print_json('status', 'Tokens refreshed')
    except URLError as err:
        print_json('error', 'Error getting new access token')
        #		print_json('error', err.code, json.loads(err.read()))
        sys.exit(1)
Esempio n. 3
0
}

# send POST request. Facebook and VK also ok with GET, but google only POST
resp = urllib2.urlopen(ACCESS_TOKEN_URL, data=urlencode(access_token_params))
assert resp.code == 200
resp_content = json.loads(resp.read())
access_token = resp_content['access_token']
expires_in = resp_content['expires_in']
refresh_token =resp_content['refresh_token']
user_id =resp_content['userid']
print "access_token", access_token
print "expires_in", expires_in
print "refresh_token", refresh_token
print "user_id", user_id

WriteTokens(access_token,refresh_token)

####################################
# STEP 4: request to server resource
####################################

api_params = {
    'access_token': access_token,
}
url = "&".join([API_RESOURCE_URL, urlencode(api_params)])
print url
resp = urllib2.urlopen(url)
assert resp.code == 200
resp_content = json.loads(resp.read())
print resp_content['body']['devices'][0]['type']
#print "Email:", email
Esempio n. 4
0
                secret = input("Enter client secret:\n")
            elif responce == "N":
                print(
                    "Try again giving arguments: client id and client secret.")
                sys.exit(1)
            else:
                print("Invalid input.")
                sys.exit(1)

        else:
            print("Invalid input.")
            sys.exit(1)

    elif (len(sys.argv) == 3):
        id, secret = sys.argv[1:]
    else:
        print("Try again giving arguments: client id and client secret.")
        sys.exit(1)

    server = OAuth2Server(id, secret)
    server.browser_authorize()

    acc_tok = server.oauth.token['access_token']
    ref_tok = server.oauth.token['refresh_token']

    print('FULL RESULTS = %s' % server.oauth.token)
    print('ACCESS_TOKEN = %s' % acc_tok)
    print('REFRESH_TOKEN = %s' % ref_tok)

    WriteTokens(acc_tok, ref_tok)
Esempio n. 5
0
                print("Try again giving arguments: client id and client secret.")
                sys.exit(1)
            else:
                print("Invalid input.")
                sys.exit(1)
            
        else:
            print("Invalid input.")
            sys.exit(1)
        
    elif (len(sys.argv) == 3):
        id, secret = sys.argv[1:]
    else:
        print("Try again giving arguments: client id and client secret.")
        sys.exit(1)

    server = OAuth2Server(id,secret)
    server.browser_authorize()
    
    print(server.oauth.session)

    acc_tok = server.oauth.session.token['access_token']
    ref_tok = server.oauth.session.token['refresh_token']
    expires_at = server.oauth.session.token['expires_at']
    
    print('FULL RESULTS = %s' % server.oauth.session.token)
    print('ACCESS_TOKEN = %s' % acc_tok)
    print('REFRESH_TOKEN = %s' % ref_tok)
    
    WriteTokens(acc_tok,ref_tok,expires_at)
Esempio n. 6
0
	def WriteTokenWrapper(token):
		print_data(token,0,1)
		acc_tok = token['access_token']
		ref_tok = token['refresh_token']
		expires_at = token['expires_at']
		WriteTokens(acc_tok,ref_tok,expires_at)