diff --git a/README.md b/README.md index a1988bb..94bb886 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,11 @@ -## Установка +# Phone number migration -### 1. Настраиваем OAuth авторизацию Google +## Использование -#### 1.1 Создаем или выбираем проект в Google Console +Проект доступен в нескольких вариантах: -https://console.cloud.google.com/ +1. Как [блокнот в Google Colab](https://colab.research.google.com/drive/1xQZpEFf2b7Mr1z2uSdkHQoZq5cxUG2ME?usp=sharing) (для работы с самой актуальной версией лучше самостоятельно импортировать Phone_number_migration.ipynb). +2. Как Jupyter Notebook (Phone_number_migration.ipynb). +3. Как простой скрипт на Python (main.py). -#### 1.2 Включаем People API - -API and Services → Library → Search and Enable the service - -People API - -#### 1.3 Создаем OAuth2 Screen Consent - -API and Services → OAuth Consent Screen - -В разделе Scopes выбираем People API - -В разделе Test users добавляем наш адрес электронной почты - -#### 1.4 Создаем Oauth2 Credentials - -API and Services → Credentials → Create credentials → OAuth client ID - -Application type: `Web application` - -Authorized redirect URI: `http://localhost:42047/` - -Сохраняем OAuth2 Credentials как json в рабочую папку с названием `credentials.json`. - -### 2. Устанавливаем зависимости и запускаем скрипт - -```shell -pip install -r requirements.txt -python main.py -``` \ No newline at end of file +Во всех вариантах использования необходимо получить файл с OAuth Credentials [следуя данной инструкции](docs/Настройка-Google-Cloud-проекта.md). \ No newline at end of file diff --git a/docs/images/apis-and-services-library.png b/docs/images/apis-and-services-library.png new file mode 100644 index 0000000..d3d8c35 Binary files /dev/null and b/docs/images/apis-and-services-library.png differ diff --git a/docs/images/create-credentials-credential-type.png b/docs/images/create-credentials-credential-type.png new file mode 100644 index 0000000..b180aaa Binary files /dev/null and b/docs/images/create-credentials-credential-type.png differ diff --git a/docs/images/create-credentials-oauth-consent-screen.png b/docs/images/create-credentials-oauth-consent-screen.png new file mode 100644 index 0000000..bb1f2af Binary files /dev/null and b/docs/images/create-credentials-oauth-consent-screen.png differ diff --git a/docs/images/create-credentials-sensitive-scopes.png b/docs/images/create-credentials-sensitive-scopes.png new file mode 100644 index 0000000..2e105a7 Binary files /dev/null and b/docs/images/create-credentials-sensitive-scopes.png differ diff --git a/docs/images/enable-google-people-api.png b/docs/images/enable-google-people-api.png new file mode 100644 index 0000000..e370608 Binary files /dev/null and b/docs/images/enable-google-people-api.png differ diff --git a/docs/images/new-project.png b/docs/images/new-project.png new file mode 100644 index 0000000..58b6261 Binary files /dev/null and b/docs/images/new-project.png differ diff --git a/docs/images/notifications-create-project.png b/docs/images/notifications-create-project.png new file mode 100644 index 0000000..39b789e Binary files /dev/null and b/docs/images/notifications-create-project.png differ diff --git a/docs/images/people-api-page.png b/docs/images/people-api-page.png new file mode 100644 index 0000000..8109804 Binary files /dev/null and b/docs/images/people-api-page.png differ diff --git a/docs/images/search-people-api.png b/docs/images/search-people-api.png new file mode 100644 index 0000000..a2bb03d Binary files /dev/null and b/docs/images/search-people-api.png differ diff --git a/docs/images/select-a-project.png b/docs/images/select-a-project.png new file mode 100644 index 0000000..451a733 Binary files /dev/null and b/docs/images/select-a-project.png differ diff --git a/docs/images/update-selected-scopes.png b/docs/images/update-selected-scopes.png new file mode 100644 index 0000000..b81f74b Binary files /dev/null and b/docs/images/update-selected-scopes.png differ diff --git a/docs/images/welcome-google-cloud-platform.png b/docs/images/welcome-google-cloud-platform.png new file mode 100644 index 0000000..04e5a96 Binary files /dev/null and b/docs/images/welcome-google-cloud-platform.png differ diff --git a/docs/Настройка-Google-Cloud-проекта.md b/docs/Настройка-Google-Cloud-проекта.md new file mode 100644 index 0000000..31bc7e2 --- /dev/null +++ b/docs/Настройка-Google-Cloud-проекта.md @@ -0,0 +1,111 @@ +# Настройка Google Cloud проекта + +В данном разделе мы рассмотрим как создать проект в Google Cloud Platform, подключим People API для взаимодействия с Google Контактами, а также настроим OAuth авторизацию. + +## Этап 0. Первоначальная настройка аккаунта Google Cloud Platform + + Если вы уже заходили в Google Cloud Platform, то можете просто пропустить этот этап и перейти по ссылке https://console.cloud.google.com/getting-started + +Для того, чтобы получить доступ к аккаунту Google Cloud Platform, необходимо пройти по ссылке: https://console.cloud.google.com/ + +Если вы впервые заходите на данную платформу, необходимо выбрать страну и согласиться с Google Cloud Platform Terms of Service. Нажмите кнопку "Agree and Continue". + +![Окно первоначальной настройки Google Cloud Platform. Содержит поля Country, Terms of Service, Email updates и кнопкой Agree and Continue.](images/welcome-google-cloud-platform.png) + +После данного действия вы попадете на страницу Get Started with Google Cloud Platform. + +## Этап 1. Создание проекта в Google Cloud Platform + +1. Нажмите кнопку "Select a project". + +После данного действия появится окно с заголовком "Select a project". + +![Окно с заголовком "Select a project". Внизу отображены существующие проекты, справа вверху находится кнопка "New project".](images/select-a-project.png) + +2. Нажмите кнопку "New project" в правом верхнем углу. + +После этого действия откроется страница "New project". + +![Страница с заголовком "New project". Ниже заголовка отображены поля для ввода "Project name", "Location", кнопки "Create" и "Cancel".](images/new-project.png) + +3. Введите желаемое название проекта или оставьте значение по умолчанию. + +4. Нажмите кнопку "Create" внизу формы. + +После данного действия откроется страница Get Started with Google Cloud Platform, а справа вверху в разделе Notifications отобразится новый проект. Через какое-то время проект будет успешно создан. + +![Окно с заголовком Notifications. Отображаются два уведомления. Одно из них - "Create Project: My Project 63695". В нем есть кнопка Select project.](images/notifications-create-project.png) + +5. Нажмите "Select Project" в "Notifications". + +После этого действия вы попадете на страницу Dashboard. + +## Этап 2. Подкючение People API к проекту + +1. Нажмите кнопку ☰ (Navigarion menu) в левом верхнем углу. + +2. Выберите в меню "APIs & Services" → "Library". + +![Боковое меню, в котором выбран пункт "APIs & Services" и подпункт "Library".](images/apis-and-services-library.png) + +После данного действия вы попадете на страницу "API Library". + +3. В поиске введите "People API" и нажмите клавишу Enter в поле ввода для поиска. + +4. Выберите "Google People API". + +![Результаты по поиску "People API". Первым в списке находится "Google People API".](images/search-people-api.png) + +5. Нажмите кнопку "Enable". + +![Заголовок "Google People API". Внизу отображаются кнопки "Enable" и "Try this api".](images/enable-google-people-api.png) + +Через некоторое время вас перенаправит на страницу c заголовком "People API". + +![API/Service Details, в которой отображаются данные о People API.](images/people-api-page.png) + +## Этап 3. Создание OAuth Credentials + +1. Нажмите кнопку Create credentials в правом верхнем углу. + +После этого действия откроется страница "Create credentials". + +![Страница с заголовком "Create credentials". Ниже заголовка отображена форма на этапе Credential Type".](images/create-credentials-credential-type.png) + +2. Выберите "User data" в поле "What data will you be accessing?". + +3. Нажмите кнопку "Next". + +4. Введите данные в поля "App name" и "User support email", "Email addresses" в форме. + +![Страница с заголовком "Create credentials". Ниже заголовка отображена форма на этапе "OAuth Consent Screen".](images/create-credentials-oauth-consent-screen.png) + +5. Нажмите кнопку "Save and continue". + +6. Нажмите кнопку "Add or remove scopes". + +После данного действия откроется правое боковое меню с заголовком "Update selected scopes". + +7. Введите в поле "Filters" значение "People API" и выберите строчку со значением "Scope" ".../auth/contacts". + +![Боковое меню с заголовком "Update selected scopes". В фильтре добавлено значение "People API", в списке выбран первая строчка с "Scope" ".../auth/contacts/".](images/update-selected-scopes.png) + +8. Нажмите кнопку "Update" внизу правого бокового меню. + +После этого действия на странице в разделе "Your sensitive scopes" появится выбранный scope. + +![Страница с заголовком "Create credentials". Ниже заголовка отображены разделы "Your non-sensitive scopes", "Your sensitive scopes", "Your restricted scopes". "Your sensitive scopes" содержит scope ".../auth/contacts/"](images/create-credentials-sensitive-scopes.png) + +9. Нажмите кнопку "Save and continue". + +10. Выберите "Desktop app" в "Application type". + +11. Нажмите кнопку "Create". + +12. Нажмите кнопку "Download", чтобы скачать файл. + +13. Нажмите кнопку "Done". + +## Этап 4. Использование OAuth Credentials в приложении + +Переименуйте файл в "credentials.json" и поместите его в папку с приложением. \ No newline at end of file