欢迎访问宙启技术站
智能推送

在Python中使用gspreadauthorize()函数进行GoogleSheets的身份认证

发布时间:2023-12-28 04:24:19

在Python中使用gspread库进行Google Sheets的身份认证有多种方法,其中一种是使用gspread库提供的gspread.authorize()函数。

使用gspread.authorize()函数需要先创建一个Google API凭据,然后将凭据保存为json文件。下面是使用gspread.authorize()函数进行Google Sheets身份认证的步骤:

1. 创建谷歌云平台项目:

- 打开谷歌云平台控制台:https://console.cloud.google.com/

- 点击"选择项目",然后点击"新建项目"创建一个新的项目。

- 为项目取一个名称,然后点击"创建"。

2. 启用Google Sheets API:

- 在项目概览页面,点击"启用API和服务"。

- 在API库中,搜索"Google Sheets API"。

- 点击"启用",以启用Google Sheets API。

3. 创建服务账号:

- 在左侧导航栏中,点击"凭据"。

- 在"凭据"页面,点击"创建凭据",然后选择"服务账号"。

- 为服务账号取一个名称,然后点击"创建"。

- 在"角色"下,选择"编辑器"或者"所有者",然后点击"继续"。

- 点击"完成",以创建服务账号。

- 在"服务帐号详情"页面,点击"添加密钥",选择"创建新的密钥"。

- 选择JSON格式,并点击"创建",将会下载一个JSON文件。

- 将该JSON文件妥善保存在你的Python项目文件夹中。

4. 安装gspread库:

- 打开命令提示符或终端,运行以下命令安装gspread库:

     pip install gspread
     

5. 使用gspread.authorize()函数进行身份认证:

   import gspread
   from oauth2client.service_account import ServiceAccountCredentials

   def gspread_authorize():
       # 身份认证的scope
       scope = ['https://spreadsheets.google.com/feeds',
                'https://www.googleapis.com/auth/drive']
   
       # 从JSON文件中获取凭据
       credentials = ServiceAccountCredentials.from_json_keyfile_name('YOUR_JSON_FILE.json', scope)
   
       # 使用凭据进行身份认证
       gc = gspread.authorize(credentials)
   
       # 返回已认证的客户端
       return gc
   

在上面的代码中,gspread_authorize()函数会返回一个已认证的Google Sheets客户端对象。你需要将YOUR_JSON_FILE.json替换为你保存的JSON文件的路径。

该函数可以在你的Python项目中被调用,以在其他函数中使用Google Sheets的各种功能。下面是一个使用gspread_authorize()函数进行Google Sheets身份认证和读取数据的例子:

def read_google_sheet():
    # 进行身份认证
    gc = gspread_authorize()
  
    # 打开 Google Sheets 文档
    doc = gc.open("YOUR_GOOGLE_SHEETS_DOCUMENT_NAME")
  
    # 选择一个工作表
    sheet = doc.worksheet("YOUR_WORKSHEET_NAME")
  
    # 读取数据
    data = sheet.get_all_records()
  
    # 打印数据
    for row in data:
        print(row)

在上面的例子中,你需要将YOUR_GOOGLE_SHEETS_DOCUMENT_NAME替换为你要读取的Google Sheets文档的名称,将YOUR_WORKSHEET_NAME替换为要读取的工作表的名称。

这样,你就可以通过调用read_google_sheet()函数,进行Google Sheets的身份认证,并读取指定工作表的数据。