Esempio n. 1
0
def exchange_token(tokens, client_id, secret, code):
    response = requests.post(
        EXCHANGE_TOKEN_ENDPOINT,
        data={
            "code": code,
            "client_id": client_id,
            "client_secret": secret,
            "grant_type": "authorization_code",
            "redirect_uri": OOB_URL,
            "expires_in": 0,
        },
    ).json()
    if "access_token" in response:
        tokens.save_token(
            SERVICE,
            response["access_token"],
            response["token_type"],
            response["refresh_token"],
            time() + response["expires_in"],
        )
        return response["access_token"]
    else:
        # Some error
        log.error("Error negotiating %s token: %s" % (SERVICE, response))
        raise ValueError("Error negotiating %s token: %s" % (SERVICE, response))
Esempio n. 2
0
def do_upload(album_endpoint, filename, name, access_token, token_type):
    headers = {
        "GData-Version": 2,
        "Slug": name,
        "Content-Type": "image/jpeg",
        "Authorization": "%s %s" % (token_type, access_token),
        "Content-Length": os.stat(filename).st_size,
        "MIME-version": "1.0",
    }
    session = requests.Session()
    request = requests.Request("POST", album_endpoint, data=open(filename, "rb"), headers=headers)
    response = session.send(request.prepare())
    if response.status_code > 300:
        log.error("Failed to upload: %s" % response.text)
        raise ValueError(response.text)
    return response.text
Esempio n. 3
0
def refresh_access_token(tokens, client_id, secret, refresh_token):
    response = requests.post(
        EXCHANGE_TOKEN_ENDPOINT,
        data={
            "refresh_token": refresh_token,
            "client_id": client_id,
            "client_secret": secret,
            "grant_type": "refresh_token",
        },
    ).json()
    tokens.update_token(SERVICE, response["access_token"], response["token_type"], time() + response["expires_in"])
    if "access_token" in response:
        return response["access_token"]
    else:
        # Some error
        log.error("Error refreshing %s token: %s" % (SERVICE, response))
        raise ValueError("Error refreshing %s token: %s" % (SERVICE, response))