{"id":18822489,"url":"https://github.com/dkxce/googlekeywordsideas","last_synced_at":"2026-01-18T17:30:19.691Z","repository":{"id":247341595,"uuid":"825599003","full_name":"dkxce/GoogleKeywordsIdeas","owner":"dkxce","description":"Receive Google Ads Keywords Ideasfrom Python","archived":false,"fork":false,"pushed_at":"2024-07-08T06:47:33.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-30T03:49:17.287Z","etag":null,"topics":["ads","dkxce","google","ideas","keywords"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dkxce.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-08T06:46:16.000Z","updated_at":"2024-11-05T14:24:16.000Z","dependencies_parsed_at":"2024-07-08T08:09:04.954Z","dependency_job_id":"36d84558-90c0-45fa-be24-0e6e46989914","html_url":"https://github.com/dkxce/GoogleKeywordsIdeas","commit_stats":null,"previous_names":["dkxce/googlekeywordsideas"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkxce%2FGoogleKeywordsIdeas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkxce%2FGoogleKeywordsIdeas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkxce%2FGoogleKeywordsIdeas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkxce%2FGoogleKeywordsIdeas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkxce","download_url":"https://codeload.github.com/dkxce/GoogleKeywordsIdeas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239758901,"owners_count":19692041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ads","dkxce","google","ideas","keywords"],"created_at":"2024-11-08T00:49:54.724Z","updated_at":"2026-01-18T17:30:19.619Z","avatar_url":"https://github.com/dkxce.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#######################################################################    \n#######    ИНСТРУКЦИЯ ПО ЗАПОЛНЕНИЮ ФАЙЛА `google-ads.yaml``    #######    \n#######################################################################    \n\n\n1. Ставим и настраиваем `google-ads`\n   \u003e\u003e `pip install google-ads`\n\n   Для работы `GoogleAdsClient` нужен файл настроек Yaml,\n   который хранит конфигурацию для подключения к сервисам Google.\n      \n   Для инициализации `GoogleAdsClient` нужны 5 параметров:     \n\t   - `developer_token` (Basic or Standard access)    \n\t   - `client_id`    \n\t   - `client_secret`    \n\t   - `refresh_token`    \n\t   - `login_customer_id`    \n   \n2. Чтобы получить developer_token нужно зайти в управляющий аккаунт    \n   https://ads.google.com/intl/ru/home/tools/manager-accounts/?hl=ru    \n   в поле поиска ввести `API Center` и открыть найденную страницу.    \n   Следуя инструкциям, создать токен.    \n\t   \n3. Чтобы получить `client_id` и `client_secret` необходимо создать проект    \n   https://console.cloud.google.com/project    \n   Потом зайти в `settings` проекта, в поле поиска ввести `credintals`,     \n   в результатах выбрать `APIs \u0026 Services Credintals`.    \n   Нажать `+ Create credintals` и выбрать `OAuth Client ID`.    \n   Заполнить все необходимые данные, в т.ч. добавить тестового пользователя.    \n\n   В итоге мы получим `client id` и `client secret`, которые надо скачать в виде JSON файла    \n   и сохранить как `./google_oauth.json`. Файл понадобится для следующего шага.    \n\t   \n4. Чтобы получить `refresh_token` Необходимо:    \n   Запустить `get_refresh_token.py -f \"./google_oauth.json\"`    \n   Следовать инструкциям, по окончанию скопировать refresh_token из окна консоли.    \n\t   \n5. Получить `login_customer_id` (это ID аккаунта рекламы) вида `XXX-XXX-XXXX`    \n   https://ads.google.com/intl/en/home/tools/manager-accounts/    \n   Записать его без дефисов `-`    \n\n6. Все полученные на предыдущих шагах значения сохранить в Yaml файл `./google-ads.yaml`    \n   Скачиваем шаблон https://github.com/googleads/google-ads-python/blob/main/google-ads.yaml    \n   и сохраняем его как `./google-ads.yaml`    \n   P.S: `use_proto_plus` устанавливаем в `False`    \n\n7. Запустить `get_refresh_token.py` для проверки валидности файла и всех параметров.    \n\n\n#######################################################################    \n###########   ИНСТРУКЦИЯ ПО ПОЛУЧЕНИЮ ИДЕЙ КЛЮЧЕВЫХ СЛОВ    ###########    \n#######################################################################    \n\n\n1. Запустить `get_keyword_ideas.py` со следующими параметрами:    \n   \n   `-g` - Список двухзначных ISO кодов стран, например: `US` или `US,CA`    \n   `-l` - 2-х значный код языка, например: `en` или `es` или `zh_CN`    \n   `-k` - Список ключевых слов разделенной запятой, например: `dental implants` или `dental implants, free implants`    \n   `-p` - [опционально], site to filter unrelated keywords    \n\n   Скрипт читает credintals из Yaml файла `./google-ads.yaml`    \n   На выходе будет таблица ключевиков, также сформируется файл `last_results.csv`.    \n\n   Пример: `get_keyword_ideas.py -g \"US,CA\" -l \"EN\" -k \"dental implants, free dentist\"`    \n   Пример: `get_keyword_ideas.py -g \"ES\" -l \"ES\" -k \"implantes dentales\"`    \n   Пример: `get_keyword_ideas.py -g \"DE\" -l \"DE\" -k \"zahnimplantate\"`    \n   Пример: `get_keyword_ideas.py -g \"DE,DK\" -l \"DE\" -k \"zahnimplantate\"`    \n\n2. Для вызова из кода см. ф-ию `get_keyword_ideas`:    \n\n    def `get_keyword_ideas`(`geos`: str | list = `US,CA`, `lang`: str = `EN`, `keywords`: str | list | None = `dental implants, free implants`, `page_url`: str | None = None, `**kwargs`) -\u003e list | None:    \n        '''    \n        API Keyword Planner Call (Get Keyword Ideas).    \n        @`geos` - Список двухзначных ISO кодов стран, например: `US` или `US,CA`    \n        @`lang` - 2-х значный код языка, например: `en` или `es` или `zh_CN`    \n        @`keywords` - Список ключевых слов разделенной запятой, например: `dental implants` или `dental implants, free implants`    \n        @`page_url` - site to filter unrelated keywords (`http://...` or `https://...`)    \n        @`kwargs`:    \n          ОСНОВНЫЕ:    \n           - `yaml_path` - Путь к Yaml файлу `./google-ads.yaml` (если не указаны `credintals`)          \n           - `credintals` - None|`file`|`env`|yaml_config_string|dict (Конфигурация для инициализации GoogleAdsClient, задаются вместо Yaml файла)    \n           - `customer_id` - Google Ads Customer ID (в формате: XXXXXXXXXX not XXX-XXX-XXXX, если нужно указать другой, не тот что в credintals или yaml Yaml файле)          \n           - `out_as` - `default` (возвращается ответ гугла как есть) or `table` (возвращается pandas dataFrame) or `dict`|`list` (возвращается массив dict) or `compact` (возвращается сокращенный массив dict) or `text`    \n          ДОПОЛНИТЕЛЬНЫЕ:    \n           - `adult`: True (взрослый контент)    \n          НЕ ИСПОЛЬЗУЕМЫЕ:    \n           - `with_annotations`: True (с аннотациями; не работает на текущей версии!)    \n          ПРОЦЕССИНГ:    \n           - `with_null_geos`: True (не устанавливать geo в DEFAULT_LOCATION_IDS если страна не найдена)          \n           - `with_null_lang`: True (не устанавливать язык в DEFAULT_LANGUAGE_ID если язык не найден)       \n           - `proccessing`: dict для вывода параметров для поиска (преимущественно geos и lang); подробнее см. `get_keyword_ideas.py` и вывод в консоль    \n        '''\n\n    `@kwargs`[`credintals`] могут быть:     \n        -  None  - ищется Yaml файл `./google-ads.yaml`    \n        - `file` - ищется Yaml файл `./google-ads.yaml`    \n        - `env`  - параметры берутся из переменной окружения;    \n                   имена должны быть те же что и в Yaml файле но с префиксом `google_ads_`,    \n                   Например:     \n                     `use_proto_plus=False` -\u003e `google_ads_use_proto_plus=False`    \n                     `login_customer_id=XXXXXXXXXX` -\u003e `google_ads_login_customer_id=XXXXXXXXXX`    \n                     `developer_token=...` -\u003e `google_ads_developer_token=...`                        \n        - yaml_config_string - передается содержимое Yaml файла с параметрами    \n        - dict   - передается словарь с параметрами (имена должны быть те же что и в Yaml файле)    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkxce%2Fgooglekeywordsideas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkxce%2Fgooglekeywordsideas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkxce%2Fgooglekeywordsideas/lists"}