Получение баланса Яндекс Директа в Power BI

Однажды мне надоело переключаться между 3 аккаунтами Яндекс Директа, чтобы проверить баланс. Для этого я написал код для получения баланса в Power BI. Он обновляет его каждый день и им удобно поделиться с другими сотрудниками, когда вы в отпуске например. Для этого всего лишь нужно предоставить ссылку на дашборд.

Так выглядит мой дашборд:

power bi баланс яндекс директа

let
    content = "{
        ""method"": ""AccountManagement"",
        ""token"": ""введите здесь свой токен"",
        ""param"": {
            ""SelectionCriteria"": {},
            ""Action"": ""Get""
            }
        }",

    #"Sourse" = Json.Document(Web.Contents("https://api.direct.yandex.ru/live/v4/json/", [Content=Text.ToBinary(content)])),
 data = Sourse[data],
 Accounts = data[Accounts],
 Accounts1 = Accounts{0},
    #"Преобразовано в таблицу" = Record.ToTable(Accounts1),
    #"Транспонированная таблица" = Table.Transpose(#"Преобразовано в таблицу"),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица", [PromoteAllScalars=true]),
    #"Замененное значение" = Table.ReplaceValue(#"Повышенные заголовки",".",",",Replacer.ReplaceText,{"Amount"}),
    #"Измененный тип" = Table.TransformColumnTypes(#"Замененное значение",{{"Amount", type number}})
in
    #"Измененный тип"

Скачать файл пример можно на github

  • Pavel Paramonenkov

    А как получить токен?

  • Pavel Paramonenkov

    Подскажите, а это нужно делать под конечными клиентскими логинами или можно на агентском?

    • Павел

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

      • Pavel Paramonenkov

        Понял, спасибо. Я выбрал «Яндекс Директ», а у меня пишет «Ожидался токен Eof.» Хотя токен формата AQAAA
        Как тут поступить?!

        • Павел

          После получения токена Яндекс директа, надо отправлять заявку на разрешение им пользоваться.
          Попробуйте получить токен Я. метрики, он такого разрешения не требует и вроде с ним можно получить баланс. Если не получиться воспользуйтесь моим приложением, перейдите по ссылке https://oauth.yandex.ru/authorize?response_type=token&client_id=0b0173520a254248aee1b0bf1641d30f и получите токен, который точно работает

          • Pavel Paramonenkov

            Ваш аналогично сработал, тоже такой же токен.
            Посмотрите пожалуйста, вот скрин редактора. Когда я выбираю показать ошибку, он отправляет меня на какую-то строку: https://yadi.sk/d/4IHJSZ-w3JYUks

            Может не в токене дело вообще…

          • Павел

            в начало в первой строке добавьте let, в статье я уже исправил, недавно редактировал случайно удалилось как-то

          • Pavel Paramonenkov

            Павел, спасибо большое!

      • Саша

        Столкнулся с такой проблемой, в power BI при подключении второго токена вылазит ошибка 53 https://yadi.sk/i/nLh3sorO3

  • Pavel Paramonenkov

    Вопрос:
    Я сделал все как нужно, получил доступы и появились данные:
    https://yadi.sk/d/-jogALqe3JYaWg

    Но при визуализации ничего не получается. Всего 1 общий счет.
    Вот скрин:
    https://yadi.sk/d/P10Ol9Is3JYagy

    Подскажите почему так, пожалуйста!

  • Aberix

    Спасибо! Такое бы и для Adwords. Там слишком замудренная система получения «остатка».

    • Павел

      Я тоже пробовал, быстро не получилось сделать, у меня тогда токена разработчика вроде не было. Вычислять нужно из пополненных и потраченных средств. Вот тут эту тему разбирали https://goo.gl/k4pa2V

  • Артем Володарский

    Добрый день!
    Почему-то вот такая ошибка http://take.ms/9SxJN

    • Павел

      По моему нет ошибки. Нажми на «Edit credentials», что там дальше выходит?

      • Артем Володарский

        А, точно, все норм. Я думал это и есть ошибка) А как сделать чтобы балланс показывался не по одному аккаунту, а сразу по нескольким?

        • Артем Володарский

          Все, спасибо разобрался. Просто нужно было сделать еще один запрос.

  • Артем Володарский

    А можно ли как-то сделать чтобы балланс обновлялся каждый час например?

    • Павел

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

  • Артем Володарский

    Кстати почему-то ссылка на дашборд не обновляется сама. Чтобы дашборт там обновился, нужно сначала нажать на кнопку в power bi и заново опубликовать отчет. Получается что уходя в отпуск я не могу просто дать коллегам ссылку и все. Обновлять все равно нужно руками. Это у всех так? Или я что-то не так сделал?

    • Павел

      Не сразу обновляется, подожди некоторое время, в течении 30−60мин обычно обновляется.

  • Evgeniy Kapinos

    У меня почему-то все пусто, после выполнения запроса

  • 1xBet является очень известных на рынке. 1xbet вход Большой выбор спортивных и киберспортивных событий, множество открытых линий, самые высокие коэффициенты. Кроме того, БК имеет обширный функционал и одна из немногих дает возможность совершать ставки по специальным промокодам. Используя промокоды, вы можете получить реальный денежный выигрыш, не внося абсолютно никаких средств. Это реально! Узнать последний промокод вы можете прямо сейчас, однако использовать его необходимо в соответствии с условиями и инструкциями, которые приведены ниже.