主页 > 电脑硬件  > 

Golang访问GoogleSheet

Golang访问GoogleSheet
步骤 1、创建Project

console.cloud.google /welcome?hl=zh-cn&project=velvety-being-444310-c1

2、启用Google Sheet API

console.cloud.google /apis/library?hl=zh-cn&project=velvety-being-444310-c1

3、创建服务账号

console.cloud.google /apis/credentials?hl=zh-cn&project=velvety-being-444310-c1

4、创建凭证

保存好json文件,后续用于访问Google Sheet

5、给账号添加Sheet访问权限

给服务账号访问的Sheet加权限。

6、代码访问 package main import ( "context" "fmt" "io/ioutil" "log" "os" "golang.org/x/oauth2/google" "google.golang.org/api/option" "google.golang.org/api/sheets/v4" ) func main() { // 读取 Service Account 的密钥文件 keyFile, err := os.Open("velvety-being-444310-c1-3a10be6dc2f5.json") if err != nil { log.Fatalf("无法打开密钥文件:%v", err) } defer keyFile.Close() // 解析密钥文件 keyBytes, err := ioutil.ReadAll(keyFile) if err != nil { log.Fatalf("无法读取密钥文件:%v", err) } config, err := google.JWTConfigFromJSON(keyBytes, sheets.SpreadsheetsScope) if err != nil { log.Fatalf("无法解析密钥文件:%v", err) } // 创建 Google Sheets 服务客户端 client := config.Client(context.Background()) // 创建 Sheets 服务对象 sheetsService, err := sheets.NewService(context.Background(), option.WithHTTPClient(client)) if err != nil { log.Fatalf("无法创建 Sheets 服务:%v", err) } // 使用 Sheets 服务对象进行操作 // ... // 指定要访问的 Google Sheets 文档和工作表 spreadsheetID := "1WhXyvPyqUCX8oxWKiMHns588UKdCaUl6NIYchmLB_gE" sheetName := "Final Output" // 替换为你要访问的工作表的名称 readRange := fmt.Sprintf("%s!AC:BP", sheetName) // 通过 Sheets 服务对象获取指定的工作表 resp, err := sheetsService.Spreadsheets.Values.Get(spreadsheetID, readRange).Do() if err != nil { log.Fatalf("无法获取 Google Sheets 文档:%v", err) } // 查找指定名称的工作表 if len(resp.Values) == 0 { fmt.Println("未找到数据") } else { fmt.Println("读取到的数据:") for _, row := range resp.Values { for _, value := range row { fmt.Printf("%s\t", value) } fmt.Println() } } fmt.Println("成功访问 Google Sheets!") } 参考文档

官方文档: developers.google /sheets/api/quickstart/go?hl=zh-cn

按照官方文档的方式,可能在授权部分被卡住

标签:

Golang访问GoogleSheet由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Golang访问GoogleSheet