Привет, друзья! Сходу обозначу весьма надоедливую проблему: когда мы используем в работе по API токен от Ads Manager, он имеет обыкновение регулярно обновляться. Это может быть раз в день, неделю, час — как взбредёт в голову антифроду. Как только у него накопится достаточно подозрений — токен меняется. Также токен меняется, если долго не заходить в аккаунт, при разлогинах, смене пароля и т.п.
И вообще, если мы закинем в фб вот такой вот запрос, как внизу, то нам ответят на чистом английском языке, что данный токен не предназначен для долговременной работы по API!
При этом, если мы засунем токен в Access Token Debugger, то увидим вот такую картину:
Якобы токен вечен, хотя при этом он был выпущен минуту назад)
Ещё одна проблема (которой, кстати, раньше не было, и которая говорит нам о том, что фб затягивает гайки в использовании токена от Ads Manager) — это необходимость использовать при работе с API куки! Сейчас, если вы шлёте запрос без куки вы получаете ошибку Invalid request, типа такой:
{"error" : {"message" : "Invalid request." , "type" : "OAuthException" , "code" : 1, "fbtrace_id" : "AZtzpkeXv5S5tNosPDR4QhT"}, "fb_trace_id" : "GVh7IRyrVAd" , "www_request_id" : "AZtzpkeXv5S5tNosPDR4QhT"}
Использование куки означает, что когда у них закончится срок жизни (либо при изменении пароля, разлогине, любых чеках и т.п.), их необходимо будет обновить. И это тоже лишний гемор.
Да, сервисы автоматизации типа Dolphin Cloud или FbTool сейчас умеют вытаскивать токен заново, когда он умирает. Но есть свидетельства от уважаемых в коммьюнити людей, что если долбиться с мёртвым токеном к API — то произойдёт разлогин.
Можно ли обойтись без всей этой чехарды и плясок? Давайте попробуем.
Disclaimer: учтите, что процесс, описанный ниже, гораздо дольше, чем вытаскивание токена из Ads-ки, и, если аккаунты у вас летят как семечки, забудьте! А вот для кингов, на которые вы просто вешаете акки/БМы, а сами кинги не трогаете — самое то!
Поехали.
Регистрация приложения
Для начала нужно зарегистрироваться как разработчик на developers.facebook.com и создать приложение.
При создании выбираем: Other
И далее тип: Business
После того, как вы ввели имя вашей новой прилы и попали на главный дашборд, нужно выбрать, к чему мы хотим иметь доступ. И это что-то — Marketing API.
Далее следуем в Tools, ставим там все имеющиеся галки и жмём Get Token.
После получения токена давайте глянем, какой у него срок жизни:
Т.е. целых 2 месяца мы можем работать с любыми рекламными кабинетами на этом соце, не использовать никакие куки и прекрасно себя чувствовать.
А потом, скажем за неделю до истечения срока, мы всегда можем обновить токен либо вручную, либо программно.
Также на моих тестах данный токен НЕ менялся при разлогинах акканутов и даже пережил на одном из них смену пароля.
Где использовать?
К сожалению сейчас никакие общераспространённые средства автоматизации типа FbTool и Dolphin Cloud не умеют работать с таким токеном. В качестве исключения планирую в свободное время обучить этому панельку ReMask. Также такие токены прекрасно функционируют во встроенной в трекер Кейтаро интеграции с фэбэ, созданной для подтягивания в трекер расходов.
Во всех остальных случаях я рекомендую использовать такие токены в своих кастомных проектах и продуктах, а там, глядишь, когда-нибудь подтянется и рынок!