Рубрики
Без рубрики

Листы Google с Python – Практическое введение

Сегодня мы научимся работать с листами Google в Python. Мы будем работать с модулем Google-Authule, который позволяет интегрировать продукты Google в

Автор оригинала: Pankaj Kumar.

Сегодня мы научимся работать с листами Google в Python. Мы будем работать с модулем Google-Authule, который позволяет интегрировать продукты Google в свой код Python.

Введение в гугл аутентификацию

Как разработчики, мы проходим большое количество API, которые ищу правого для отправки запросов и получить информацию для нашего анализа или работы.

Но, чтобы получить доступ к их функционалам, нам требуется некоторое доказательство того, что нам разрешено использовать эти данные.

Это называется Аутентификация и используется для проверки пользователей, желающего доступа к данным.

И один из модулей, которые растут в популярности в этой области недавно, это Google-Auth модуль.

Google-Auth Модуль предоставляет возможность аутентификации пользователя с API Google вместе с интеграцией нескольких библиотек HTTP.

Это выполняется, используя список учетных данных, предоставляемых вам платформой Google Cloud.

Это означает, что теперь вы можете использовать эти учетные данные, чтобы войти в свою учетную запись во время выполнения скрипта.

Google-Auth Модуль – это тот, который позволяет нам работать с Вычислить двигатель , Контейнерный двигатель и Приложение Engine через сценарий Python.

Установка аутентификации Google для доступа к листам Google

Для того, чтобы работать с Google-Auth Модуль, нам сначала нужно установить модуль, используя Диспетчер пакетов PIP :

pip install --upgrade google-auth

Это позволяет нам сейчас работать с модулем в наших сценариях Python.

Возможно, важно отметить, что предпозитный модуль для работы с Google API с легкостью будет gspread модуль,

pip install gspread

Настройка среды аутентификации

Давайте начнем с работы на примере, Взаимодействуя с листами API а также Листы от Google.

1. Настройка проекта в GCP

Для того, чтобы работать с Листы API, нам нужно создать и использовать проект, который мы сделали в Платформа Google Cloud Отказ

Платформа Google Cloud Это набор облачных вычислений, по определению, и для того, чтобы взаимодействовать с API Google, который основан на облаке, нам нужно сначала взаимодействовать с консолью GCP.

Итак, имею в виду, что GCP и Google Drive связаны, мы можем включить Привод API , а затем получите учетные данные, необходимые для API, чтобы взаимодействовать с скриптом и получать данные.

Итак, сначала первые вещи! Мы должны войти в наши соответствующие счета, ведущие к Google Cloud Console Отказ

Теперь давайте создадим проект. Мы можем сделать это, просто нажав на Выберите проект Кнопка, и создавая Новый проект Отказ

Вы можете выбрать имя любое имя в качестве названия вашего проекта, мы будем использовать Тестер Для этого примера.

Мы можем получить доступ к приборной панели через боковую панель, (Главная -> Приборная панель) Отказ

2. Включение API привода

Теперь, когда мы создали проект, пришло время принести API.

Мы можем сделать это, используя панель поиска сверху, запросирование для Google Drive API Отказ

Если вы нашли правильный, он должен выглядеть немного такое так,

Теперь, когда мы здесь, давайте включите его, что должно автоматически привести к обзору API.

Далее вы хотите перейти к разделу учетных данных через боковую панель. Обзор -> Учетные данные Отказ

Давайте генерируем наши полномочия в соответствии с нашим проектом, это означает, что наши ответы должны быть –

  • Google Drive API.
  • Веб сервер
  • Данные приложений
  • Нет для компетентной интеграции двигателя ,

Это создаст учетную запись услуг, которая нам нужно предоставить роль в качестве редактора.

Мы выделяем разрешения как редактор , как это позволяет нам выполнять все Crud Операции, но не позволяют нам удалить весь сам файл.

Мы также хотим, чтобы этот файл был файлом JSON, так как мы будем использовать в этом примере.

Тогда мы также продолжаем и включить Листы API Аналогичным образом, но, однако, не создавайте какие-либо учетные данные.

3. Работа с Creds.json для доступа к листам Google

Теперь вы можете вернуться к учетным данным, которые вы скачали в JSON Формат и хранить его в том же каталоге, что и тот, где мы будем создавать скрипт.

Мы будем переименовывать файл учетных данных как Credsss.json В этом проекте, но имейте в виду, что вы можете переименовать его, однако, нужно будет переименовать его всякий раз, когда файл упоминается или используемый.

Теперь внутри Credsss.json Мы получим кучу ключей и ценностей, но нам нужно только беспокоиться о Client_email ключ. Скопируйте значение для этого ключа, поскольку нам нужно поделиться нашим листом Google с помощью этого идентификатора электронной почты для доступа к его содержимому.

Затем либо создайте новый лист, либо используйте существующий лист и добавьте электронную почту через опцию Chare, присутствующие в правом верхнем углу страницы.

Вы должны заканчиваться чем-то вроде этого к концу этого шага.

Это позволяет учетной записи службы Google иметь возможность получить доступ и изменять лист, который был предоставлен вами.

Использование модуля Google-Authule в Python

Теперь мы наконец доберемся до части, где мы начнем писать код, чтобы работать с ресурсами, которые мы можем получить от листов Google с Python.

1. Инициализация аутентификации

Для того, чтобы работать с Google-Auth Модуль, нам сначала нужно инициализировать его. Это можно сделать с помощью следующих команд,

# importing the Python API for google sheets
import gspread

# importing oauth2 from google-auth to authenticate our service account
from google.oauth2 import service_account

# pretty printing our output in the console
from pprint import pprint

После этого мы сделали это, мы можем использовать методы, которые мы импортировали в остальную часть сценария.

2. Определение учетных данных и объем

Теперь мы определяем полномочия от JSON Файл, который мы получили с платформы Google Cloud, наряду с объемом откуда детали должны быть получены.

# used to retrieve credentials from the *creds.json* file
creds = service_account.Credentials.from_service_account_file("creds.json")
scoped_credentials = creds.with_scopes(
        [
            "https://spreadsheets.google.com/feeds",
            'https://www.googleapis.com/auth/spreadsheets',
            "https://www.googleapis.com/auth/drive.file",
            "https://www.googleapis.com/auth/drive"
            ]
        )

client = gspread.authorize(scoped_credentials)

3. Доступ к листам Google через скрипт

Теперь мы можем получить доступ к всем листам, которые подключены к учетной записи, которая была сделана на предыдущем шаге, через Поделиться вариант,

# We're accessing the sheet 1 of the tester document
sheet = client.open("tester").sheet1

# retrieves all records
print("\nRetrieving all records...")
data = sheet.get_all_records()
pprint(data)

4. Изменение листа

Листы также могут быть изменены через четыре операции CRUD, которые являются особенностями gspread модуль.

# retrieving specific cell
print("\nRetrieving value of a cell placed at (1, 2) in the sheet...")
cell = sheet.cell(1, 2).value
pprint(cell)

# inserting details into the sheet
print("\nInserting details into the sheet...")
insertDetails = ["Adithya", "testemail@gmail.com", "33YEP4554"]
sheet.insert_row(insertDetails, 1)

# updating details in the sheet
print("\nUpdating details in the sheet...")
sheet.update_cell(2, 2, "dat.adithya@gmail.com")

5. Окончательный выпуск

После выполнения этого скрипта мы должны получить выходной сигнал, который предоставляет нам полный список записей, определенной ячейки и вставить и обновлять лист в конце.

Выход, который я получил в моем случае, был, был,

[{'33YEP4554': 2222333312,
  'Adithya': 'Murthy',
  'testemail@gmail.com': 'murthyhere@gmail.com'},
 {'33YEP4554': 8098776633,
  'Adithya': 'John',
  'testemail@gmail.com': 'johnnyboi@yahoo.in'},
 {'33YEP4554': 123456789,
  'Adithya': 'Boiler',
  'testemail@gmail.com': 'boilerplate@email.com'},
 {'33YEP4554': 2524523233,
  'Adithya': 'lalith',
  'testemail@gmail.com': 'lalith.14bcm4243@gmail.com'},
 {'33YEP4554': 2654432266,
  'Adithya': 'swathi',
  'testemail@gmail.com': 'swathi@rediffmail.com'},
 {'33YEP4554': 6666634232,
  'Adithya': 'chinnu',
  'testemail@gmail.com': 'lamba@yahoo.com'},
 {'33YEP4554': 6345311456,
  'Adithya': 'aditya',
  'testemail@gmail.com': 'adinayaki@gmail.com'}]
 
Retrieving information from row 3...
['John', 'johnnyboi@yahoo.in', '8098776633']
 
Retrieving information from column 3...
['33YEP4554',
 '2222333312',
 '8098776633',
 '123456789',
 '2524523233',
 '2654432266',
 '6666634232',
 '6345311456']
 
Retrieving value of a cell placed at (1, 2) in the sheet...
'testemail@gmail.com'
 
Inserting details into the sheet...
 
Updating details in the sheet...

И вот изображение самой электронной таблицы,

Движение вперед

Google-Auth Модуль – это тот, который считается родителем Oauth2Client Модуль и как таковые содержают намного больше функций, которые могут быть изучены в глубине здесь Отказ

Обеспечение поддержки функций, которые могут разрешить доступ к вычислительным двигателям Google Cloud’s Compute и приложений через скрипт Python.

Определение переменных среды, специально для аутентификации Google вместе с опциями для импорта из A JSON файл.

Вот …| Полный скрипт для Google-Auth Тестирование модуля, которое мы сделали сегодня.

Заключение

API полезны для того, чтобы работать с информацией из определенного приложения или услуги.

Однако все могут быть сделаны проще, понимая, какие модули работать с и какие из них для импорта, чтобы работать с кодом более разумным образом.

Авторизация учетных данных – это большая часть возможности получить доступ к объектам и предметам в обслуживании.

Это также было бы для лучшего, если вы смотрели на опции, которые обеспечивают вам масштабируемость на будущее, а также поддержку модуля.

Это то, что Google-Auth Модуль предлагает нам свои функции, и это сообщество.

Рекомендации