使用python Gspread Oauth并将凭证文件保存在Gspread文档中指定的目录以外的其他位置
有关身份验证的说明可在此处找到: 身份验证序列中的步骤7说明: “将下载的文件移动到~/.config/gspread/credentials.json。Windows用户应将此文件放置到%APPDATA%\gspread\credentials.json” 有人知道将credentials.json文件保存在其他地方并使用它来授权gpread的方法吗 或者,我考虑过使用shutil.move来获取json文件,将其移动到所需的位置,但需要能够做到这一点,而无需假设python库的位置,或者即使它位于windows或unix机器上。有什么环境变量可以揭示某些图书馆的位置吗?我可以这样做:使用python Gspread Oauth并将凭证文件保存在Gspread文档中指定的目录以外的其他位置,python,python-3.x,google-sheets,oauth,gspread,Python,Python 3.x,Google Sheets,Oauth,Gspread,有关身份验证的说明可在此处找到: 身份验证序列中的步骤7说明: “将下载的文件移动到~/.config/gspread/credentials.json。Windows用户应将此文件放置到%APPDATA%\gspread\credentials.json” 有人知道将credentials.json文件保存在其他地方并使用它来授权gpread的方法吗 或者,我考虑过使用shutil.move来获取json文件,将其移动到所需的位置,但需要能够做到这一点,而无需假设python库的位置,或者即使
import gspread, os, shutil
loc = gspread.__location__
cred_path = os.path.join(loc, "credentials.json")
if not os.path.isfile(cred_path):
shutil.move(input("Enter creds path:"), cred_path)
找到了我自己问题的答案。此函数将所有相关环境变量设置为您选择的目录,其中应保存credentials.json文件(以及authorized_user.json文件):
找到了我自己问题的答案。此函数将所有相关环境变量设置为您选择的目录,其中应保存credentials.json文件(以及authorized_user.json文件):
import gspread.auth as ga
def gspread_paths(dir):
ga.DEFAULT_CONFIG_DIR = dir
ga.DEFAULT_CREDENTIALS_FILENAME = os.path.join(
ga.DEFAULT_CONFIG_DIR, 'credentials.json')
ga.DEFAULT_AUTHORIZED_USER_FILENAME = os.path.join(
ga.DEFAULT_CONFIG_DIR, 'authorized_user.json')
ga.DEFAULT_SERVICE_ACCOUNT_FILENAME = os.path.join(
ga.DEFAULT_CONFIG_DIR, 'service_account.json')
ga.load_credentials.__defaults__ = (ga.DEFAULT_AUTHORIZED_USER_FILENAME,)
ga.store_credentials.__defaults__ = (ga.DEFAULT_AUTHORIZED_USER_FILENAME, 'token')