package main
import (
"context"
"fmt"
"io/ioutil"
"log"
"golang.org/x/oauth2/google"
"google.golang.org/api/drive/v3"
)
func main() {
ctx := context.Background()
b, err := ioutil.ReadFile("secret.json")
if err != nil {
log.Fatalf("Unable to read service account key file: %v", err)
}
config, err := google.JWTConfigFromJSON(b, drive.DriveScope)
if err != nil {
log.Fatalf("Unable to parse service account key file to config: %v", err)
}
client := config.Client(ctx)
srv, err := drive.New(client)
if err != nil {
log.Fatalf("Unable to retrieve Drive Client: %v", err)
}
fileId := "xxxxxxxxxxxxxxxxxxxxx"
file, err := srv.Files.Get(fileId).Fields("id, name, mimeType, size, createdTime, thumbnailLink, webContentLink, webViewLink").Do()
if err != nil {
log.Fatalf("Unable to retrieve file: %v", err)
}
fmt.Printf("File ID: %s\n", file.Id)
fmt.Printf("Name: %s\n", file.Name)
fmt.Printf("MIME Type: %s\n", file.MimeType)
fmt.Printf("Size: %s bytes\n", file.Size)
fmt.Printf("Created Time: %s\n", file.CreatedTime)
fmt.Printf("File Content Link: %s\n", file.WebContentLink)
fmt.Printf("File Web Link: %s\n", file.WebViewLink)
fmt.Printf("Thumbnail Link: %s\n", file.ThumbnailLink)
}