⟵ сюда
  • Tableau и PowerBI
  • amoCRM
  • Битрикс 24
  • Синхонизации
  • Отправляем сообщение в Slack через n8n.io
  • Создаем и подключаем Telegram бота
  • Подключаемся к Yandex-переводчику
  • Подключаемся к Yandex-переводчику

    yandex-translator

    Предварительные настройки консоли Яндекс

    Регистрируетесь в console.yandex.ru.

    Идете в AI API.

    Создаете платежный аккаунт.

    Привязываете карту и переходите на платную версию.

    Пополняете баланс (в начале 2023 г. 100К символов переводчика стоят ~50 р.).

    Подробнее про тарифы здесь: https://cloud.yandex.ru/prices

    Получаете oAuth-token. Идете сюда https://cloud.yandex.ru/docs/iam/operations/iam-token/create, переходите на вкладку API и переходите по ссылке в пункте 2. Разрешаете доступ к cloud от вашего аккаунта Яндекс и видите token — сохраняете его.

    Получаем IAM-token и настраиваем его обновление

    Создаем поле тип Данные для хранения IAM-token.

    Получаем IAM-token и сохраняем его в созданное поле (подставьте свой oAuth токен полученный ранее):

    // код-действия кнопки
    
    = : set(table: $#ntn; field: 'h_iamtoken' = $extract)
    
    extract: jsonExtract(text: $iam)
    
        iam: getFromScript(uri: "https://iam.api.cloud.yandex.net/iam/v1/tokens"; posts: $json)
            json: jsonCreate(data: $row)
                row: rowCreate(field: "yandexPassportOauthToken" = "YOUR_OAUTH_TOKEN_HERE")
    
    

    Нажатие кнопки надо поставить на крон каждые 6 часов через execButton.

    Получаем идентификатор каталога и назначаем роль

    Идентификатор каталога:

    1. Выберите каталог на стартовой странице консоли управления. На этой странице отображается информация о всех каталогах в выбранном облаке. Если необходимо, переключитесь на другое облако.

    2. Получить идентификатор каталога можно из URL страницы каталога в консоли управления:

      https://console.cloud.yandex.ru/folders/b1gd129pp9ha0vnvf5g7
      

      Где b1gd129pp9ha0vnvf5g7 — это идентификатор каталога.

    Назначаем роль:

    1. Выбираем каталог

    2. Переходим на вкладку Права доступа

    3. Жмем Назначить роли

    4. Жмем выбрать пользователя

    5. Выбираем того пользователя от которого мы выпускали токен

    6. Жмем добавить роль и выбираем ai.translate.user

    7. Сохранить

    Формируем запрос на перевод и записываем результат куда-нибудь

    Формируем запрос на перевод и записываем результат куда-нибудь (замените YOUR_FOLDER_ID):

    = : set(table: $#ntn; field: 'translation' = $extract[translations][0][text]; where: 'id' = #id)
    
        extract: jsonExtract(text: $get)
    
    get: getFromScript(uri: "https://translate.api.cloud.yandex.net/translate/v2/translate"; headers: $headers; posts: $json)
    headers: listCreate(item: $header_1; item: $header_2)
    
        header_1: "Content-Type: application/json"
        header_2: str`"Authorization: Bearer" ++ #h_iamtoken[iamToken]`
    
        json: jsonCreate(data: $data)
            data: rowCreate(field: "folderId" = "YOUR_FOLDER_ID"; field: "texts" = $list; field: "sourceLanguageCode" = "en"; field: "targetLanguageCode" = "ru")
    
                list: listCreate(item: $text_1)
                    text_1: #something_to_translate
    

    За один запрос можно передать несколько текстов — для этого надо в строку list передать список из текстов.

    В ответе в ключе translations будет содержаться список переводов в том же порядке в котором вы их передали.