1

I'm having a lot of trouble figuring out what's going on here. I'm not getting any error messages from Google's end, and when I check the API it says that the requests are going through, but the document is nowhere in my google drive. I am very green when it comes to using Google's API's, and am pretty sure I am making a dumb mistake but not sure what. I am I have a service account tied to the application, but there is no Oauth scope specified when looking at it. I am no longer getting a "invalid_scope: Invalid OAuth scope or ID token audience provided " error, but something is still wrong. If someone could tell me what I'm doing wrong here I would appreciate it.

import win32com.client
import os
import csv
from google.oauth2 import service_account
from googleapiclient.discovery import build

def convert_csv_to_google_sheet(csv_file_path, spreadsheet_title):
    scopes = ['https://www.googleapis.com/auth/spreadsheets']
    credentials = service_account.Credentials.from_service_account_file('service_account_creds.json', scopes=scopes)
    service = build('sheets', 'v4', credentials=credentials)
    spreadsheet = service.spreadsheets().create(body={'properties': {'title': spreadsheet_title}}).execute()
    spreadsheet_id = spreadsheet['spreadsheetId']
    with open(csv_file_path, 'r', newline='', encoding='utf-8') as csv_file:
        csv_reader = csv.reader(csv_file)
        csv_data = list(csv_reader)
    service.spreadsheets().values().update(
        spreadsheetId=spreadsheet_id,
        range='Sheet1!A1',
        valueInputOption='RAW',
        body={'values': csv_data}
    ).execute()
    print(f'CSV file "{csv_file_path}" has been successfully converted to a Google Sheet with title "{spreadsheet_title}".')
{
  "type": "service_account",
  "project_id": "xxxxxxxx",
  "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCVk2yK3muK5vFa\nW/sbS2GSMzxYB7bU1VhG+kBydckkjIk6Kz6OAtX9BSxD8Apq6V3RMHTJ2ml7+tg7\nAQw+USvGJp0Kx2bhcwH5hamK4AXhuv6r6ce+BaR9AtqwHOi7+RweOmZYU2csi9oN\ng8xbnOTmK7L7osLof7h6QS73B617TK3YUMH47E5Mx2GU/y3+8nsOYMFP4Rxfoh+e\nGyooGtKFf6etphgRCSA9Hsa822bEWTZCHMaKJMHuX/9E2xkrF3D74WycsYCU1uTc\nDMTz18uRjso9+NjMs8j20vmw77IeCFUydg6IGGpvz2LebFyukPbBaAmzWh9wz3zq\n30uHxHrFAgMBAAECggEACud0xJQ9uiI8kBN1NTfZRMOQGklzA7BglMljmgnfgFbv\nyMTO9PgHSkBun1lII851dMLtO1Xn1g5NuydyvAxGKQDhoUqIw9YS28eUZOJmALRq\nzR+S3IB5eFTqmmd7yVBPbh4LHf9JMznSy09uE3OsSuH+qfzjQU3Q+2CgdYkiwC0/\nSfnqHrGj2hYZ6/dPAsfmAmmQDP5ny6G5k2xlmKmVtejdLT1bNdQOp64N2h1y/uBs\nZ/wCdzRxGjudKF3YkRI8R5mgrd2uq6l+4hN0dXbq7ChqgMFsiAVtEkKiUy/guhC6\nBQXUbdxm6vgO0dT/Coookx6z95uxw5Ssk6PcAdEEtQKBgQDPMgCcCrY1mJ+luuJQ\nDv8cpDGxLzUr/f05abmLDIFEs1raZWXL8PV2lt/xxRrw1K0SFhr56ra7tPFa252o\nxGcFE2uni5G57zsWhPa66tEq3DbXa99dAOQ0ejZyARwPk2sO9bVhFJWNzVcGQZQk\nVCbW1idILsu0vDdIqvB5c//mSwKBgQC4zu+IlEttyi4gp7uUeIB/tWs/SUfboAWt\nHQC+N+G6SSxxFC0OERPDBqNp6yA5jIo555Pb/U/AY0uhwDjn7jplWBPgkGY1WRn/\n6MJZpUCwzAbOjc2vOr9ADqz3ZfqcqxQ5KKGqKdypDOeKCe5Nj6EYJwS4iPNLAWiY\nrrfq1Pe5LwKBgQCT22rz7/D3bmL/Mc4us4T6O3H6r2WSbz41qmzt/Y6CKDu9fn6W\neu2wIxrMvYvsMNkQ/xVhI04jxYw2+mIX/ZBG3wUEG2Vy+nWALIKmAMwjeeLo9+H9\nzJUNnekckg4kT18m3dEB5l6TQuXHYSUGh8bvqQN/T2WvJGGPSe0xvsXu4QKBgQCo\nxBDqYMIhGKjXGVWrV//AoCO4P2tnnNKSLBIpo053l6sF+K7MUbwCNWW1rApZg4YX\nKutT0heqUQMYSzmsU1jwg2ZjhHpR7XRYxm30/3v799Wfes+CXduY284IfxBFUdW9\n/OTlSCVCG461+CuumKM8MyWUfzvuGvMxuxwpTyKJ8QKBgQCHGX/tk8rgpcSEMynU\nXeo55chklHRuHtikNX1grDWWjqFE/2ykD900NJNX5NAJJmb/nKF2jwuxJlor6OVp\ntlxYDfdxoHVxMTKMZj23OsyU5YAYlusJCsXhhJujCZHvnsX6m6IB2PMhqUgXmZjR\nX3KhpTXR88E13F420jdFddAOKQ==\n-----END PRIVATE KEY-----\n",
  "client_email": "[email protected]",
  "client_id": "xxxxxxxxxxxxxxxxxxxxxxx",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxx%40txxxxxxxxx.iam.gserviceaccount.com",
  "universe_domain": "googleapis.com"
}
1
  • When I saw your showing script, I understood that you were creating a Spreadsheet using the service account. In this case, the created Spreadsheet is put into the Google Drive of the service account. And, the Drive of the service account is different from the Drive of your account. I guessed that this might be the reason for your current issue. In this case, this thread might be an answer. stackoverflow.com/q/63545788 Commented Feb 3, 2024 at 0:56

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.