tdMMRTjQ
@tdMMRTjQ

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【API】DeepLのAPI作成でエラーが出てしまいます。

初質問になります。🔰
読みにくいかもしれませんが、どうかお手柔らかにお願いします。

解決したいこと

作成したDeepLのAPI用URLが403エラーが出てしまいます。

URLは以下のものになります。「xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx:fx」は認証キーです。
Hellow Worldを英語から日本語に翻訳するものです。
https://api.deepl.com/v2/translate?xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx:fx&text=Hello,%20World.&target_lang=ja&source_lang=en&tag_handling=0

言語はRを使っています。
下記の記事を参考にしました。
https://qiita.com/otsukimi200624/items/63eb3759b2711fc728ac
途中まで順調だったのですが、以下のエラーが発生してしまい進めません。

発生している問題・エラー

> responce
Response [https://api.deepl.com/v2/translate?xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx:fx&text=Hello,%20World.&target_lang=ja&source_lang=en&tag_handling=0]
Date: 2023-03-03 07:41
Status: 403
Content-Type: <unknown>

以下全コード
下記のGETまでは問題なく進みました。

install.packages(c("httr", "jsonlite"))
library(httr)
library(jsonlite)

rm(list =ls())

apiURL <- "https://api.deepl.com/v2/translate"
auth_key <- "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx:fx"
text <- "Hello, World."
source_lang <- "source_lang=en"
target_lang <- "target_lang=ja"

target_url <- paste0(apiURL, "?", auth_key, "&text=", URLencode(text), "&", target_lang, "&", source_lang, "&", "tag_handling=0")
responce <- GET(target_url)
responce

基本的には上記の記事を参考にしました。
翻訳元の文章を短文にしたり、別アカウントで試してももうまくいきません。
そのまま先に進んでもうまくいきませんでした。
無料版ですが、字数制限等は引っかかっておりません。
念のため新しいアカウントを使いましたがそれでもだめでした。
有料版でなければ使えないなんてことはないですよね?(利用規約読みましたが、念のため)

0

1Answer

記事が書かれた時とかなり仕様が変わっているようです。
リクエストアドレスはhttps://api.deepl.com/v2/translateからhttps://api-free.deepl.com/v2/translateに変わっています。

api_url <- "https://api-free.deepl.com/v2/translate"

メソッドもGETではなくPOSTを使うようです。

auth_key <- "" #認証キー
text <- "Hello"
source_lang <- "en"
target_lang <- "ja"
response <- POST(api_url, body=list(source_lang = source_lang, target_lang=target_lang, text=text), add_headers(Authorization = paste("DeepL-Auth-Key", auth_key)))

APIのドキュメントはhttps://www.deepl.com/ja/docs-api/translate-text/ にありますので、詳しいことはここを参照してみてください。

1Like

Comments

  1. @tdMMRTjQ

    Questioner

    無事解決できました。
    ありがとうございます!

Your answer might help someone💌