ホームページ >バックエンド開発 >PHPチュートリアル >Baidu Wenxin Yiyan APIとPHPを連携して特定の種類の文章を取得して翻訳する実装方法

Baidu Wenxin Yiyan APIとPHPを連携して特定の種類の文章を取得して翻訳する実装方法

WBOY
WBOYオリジナル
2023-08-12 16:09:07961ブラウズ

Baidu Wenxin Yiyan APIとPHPを連携して特定の種類の文章を取得して翻訳する実装方法

Baidu Wenxin Yiyan API への PHP 接続を実装して、特定の種類の文を取得して翻訳する方法

概要:
この記事では、その方法を学習します。 PHP を使用するには、Baidu Wenxin Yiyan API に接続し、特定の種類の文を取得し、Baidu Translation API を通じて翻訳します。これにより、文章を取得して翻訳する簡単で楽しい方法が得られます。まず、Baidu Wenxin Yiyan API の基本的な使用法を理解してから、PHP を使用してこの機能を実装するコードを作成します。

ステップ 1: API キーを申請する
まず、Baidu Open Platform に登録し、Wenxinyiyan API キーを申請する必要があります。 Baidu Open Platform Web サイト (https://openapi.baidu.com/) を開き、登録してログインします。次に、新しいアプリケーションを作成し、Wenxinyiyan API を選択します。 API キーを申請する際は、Baidu Translate API を使用して文章を翻訳できるように、必ず「allow_baidu_translate」パラメータを「true」に設定してください。

ステップ 2: Baidu Wenxin Yiyan API に接続する
次のコード スニペットを使用して Baidu Wenxin Yiyan API に接続し、特定の種類の文を取得します:

<?php
$apiKey = 'YOUR_API_KEY';
$type = 'TYPE_OF_SENTENCE'; // 可选择的句子类型: tangshi, songci, sanwen, lizhi, jingdian, gushi
$apiUrl = "https://api.lovelive.tools/api/SweetNothings/$type";

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $apiUrl,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
        'Content-Type: application/json',
        'Authorization: apikey ' . $apiKey
    ),
));

$response = curl_exec($curl);
curl_close($curl);

if($response !== false) {
    $result = json_decode($response, true);
    $sentence = $result['data']['hitokoto'];
} else {
    $sentence = 'Error: Failed to fetch sentence.';
}

echo $sentence;
?>

必ず追加してくださいYOUR_API_KEY を、申請した Baidu Wenxin Yiyan API キーに置き換えます。タイプを選択することもできます: tangshi (唐の詩)、songci (歌詩)、sanwen (散文)、lizhi (インスピレーション)、jingdian (文)、gushi (ストーリー)。

ステップ 3: Baidu Translation API に接続する
次に、Baidu Translation API を使用して、取得した文章を翻訳します。まず、Baidu Open Platform に登録し、翻訳 API キーを申請する必要があります。 APIキーをリクエストする場合は、API経由でリクエストを送信できるよう、アプリケーション設定の「アクセス制御」項目を必ず「オープン」に設定してください。

<?php
$apiKey = 'YOUR_TRANSLATION_API_KEY';
$sentenceToTranslate = '我喜欢编程'; // 可替换成获取的句子

$apiUrl = "http://api.fanyi.baidu.com/api/trans/vip/translate";
$fromLang = "auto";
$toLang = "en";
$apiSalt = rand(10000, 99999);
$apiSign = md5($apiKey . $sentenceToTranslate . $apiSalt . 'API_KEY_SECRET');

$translationUrl = "$apiUrl?q=" . urlencode($sentenceToTranslate) . "&from=$fromLang&to=$toLang&appid=$apiKey&salt=$apiSalt&sign=$apiSign";

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $translationUrl,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
        'Content-Type: application/json'
    ),
));

$response = curl_exec($curl);
curl_close($curl);

if($response !== false) {
    $result = json_decode($response, true);
    $translatedSentence = $result['trans_result'][0]['dst'];
} else {
    $translatedSentence = 'Error: Failed to translate sentence.';
}

echo $translatedSentence;
?>

YOUR_TRANSLATION_API_KEY を、申請した Baidu Translation API キーに必ず置き換えてください。必要に応じて、ソース言語とターゲット言語を他の値に変更することもできます。

上記のコードの実装により、Baidu Wenxin Yiyan API に正常に接続し、特定の種類の文を取得することができました。次に、Baidu Translation API を使用して文章を翻訳しました。ニーズに合わせて変更および拡張できます。この記事がお役に立てば幸いです、読んでいただきありがとうございます!

以上がBaidu Wenxin Yiyan APIとPHPを連携して特定の種類の文章を取得して翻訳する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。