Home > OS >  I want to create google sheet from python using Pycharm but its not working
I want to create google sheet from python using Pycharm but its not working

Time:07-13

I was try to create google sheet using python in Pycharm but I try very had didn't out bugs. here I submit my full code and show my error result.

    # [START sheets_create]
from __future__ import print_function

import google.auth
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError


def create(title):
    """
    Creates the Sheet the user has access to.
    Load pre-authorized user credentials from the environment.
    TODO(developer) - See https://developers.google.com/identity
    for guides on implementing OAuth2 for the application.\n"
        """
    creds = 'conof.json'
    # pylint: disable=maybe-no-member
    try:
        service = build('sheets', 'v4', credentials=creds)
        spreadsheet = {
            'properties': {
                'title': title
            }
        }
        spreadsheet = service.spreadsheets().create(body=spreadsheet,
                                                    fields='spreadsheetId') \
            .execute()
        print(f"Spreadsheet ID: {(spreadsheet.get('spreadsheetId'))}")
        return spreadsheet.get('spreadsheetId')
    except HttpError as error:
        print(f"An error occurred: {error}")
        return error


if __name__ == '__main__':
    # Pass: title
    create("mysheet1")
    # [END sheets_create]

This is default code I found from google sheet development enter image description here

enter image description here

Notes: Make sure to install the necessary package included in the Quickstart guide, download the credential json file, save it in the same directory as your script and rename it to credentials.json

Reference:

CodePudding user response:

Try replacing creds = 'conof.json' with

credentials = google.oauth2.credentials.Credentials.from_authorized_user_file('conof.json)

and adding the import as necessary.

You are currently passing a string to the credentials parameter in build; however, build expects you to pass a specific type of credentials object to it. You can obtain this credential object from a JSON file using the line of code above. See this answer for more detail.

  • Related