Python OAuth 2.0嵌入了Client_secret.json

时间:2018-06-14 15:21:51

标签: python oauth-2.0

我正在开发一个程序来标记google calendare上的约会,使用python quickstart一切正常,但该程序读取 client_secret.json credential.json 明文文件中的信息,而这些信息应受到保护。

我考虑过加密文件,但是如何通过传递文件内容(字符串)而不是文件本身来执行 client.flow_from_clientsecrets 过程?

我想避免编辑google-api-python-client

1 个答案:

答案 0 :(得分:1)

您可以使用OAuth2WebServerFlow

from oauth2client.client import OAuth2WebServerFlow

flow_params = {
    'access_type': 'offline',
    'prompt': 'consent'
}

flow_scopes = [
    "https://www.googleapis.com/auth/calendar.edit",
    "https://www.googleapis.com/auth/calendar",
]

flow = OAuth2WebServerFlow(
    client_id=client_id,
    client_secret=client_secret,
    scope=flow_scopes,
    redirect_uri='http://www.redirect_uri.com',
    **flow_params
)