>백엔드 개발 >PHP 튜토리얼 >Baidu Wenxin Yiyan API를 PHP와 연결하여 특정 유형의 문장을 획득하고 번역하는 구현 방법

Baidu Wenxin Yiyan API를 PHP와 연결하여 특정 유형의 문장을 획득하고 번역하는 구현 방법

WBOY
WBOY원래의
2023-08-12 16:09:07961검색

Baidu Wenxin Yiyan API를 PHP와 연결하여 특정 유형의 문장을 획득하고 번역하는 구현 방법

PHP를 사용하여 Baidu Wenxin Yiyan API에 연결하여 특정 유형의 문장을 얻고 번역하는 방법

개요:
이 기사에서는 PHP를 사용하여 Baidu Wenxin Yiyan API에 연결하여 특정 유형의 문장을 얻는 방법을 알아봅니다. 유형의 문장을 바이두 번역 API를 통해 번역합니다. 이는 우리에게 문장을 얻고 번역하는 간단하고 재미있는 방법을 제공할 수 있습니다. 먼저 Baidu Wenxin Yiyan API의 기본 사용법을 이해한 다음 PHP를 사용하여 이 기능을 구현하는 코드를 작성합니다.

1단계: API 키 신청
먼저 Baidu Open Platform에 등록하고 Wenxinyiyan API 키를 신청해야 합니다. Baidu Open Platform 웹사이트(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 (영감), <code>jingdian (문장), gushi (이야기). YOUR_API_KEY替换为您申请的百度文心一言API密钥。还可以选择类型:tangshi(唐诗)、songci(宋词)、sanwen(散文)、lizhi(励志)、jingdian(句子)、gushi(故事)。

步骤3:连接百度翻译API
接下来,我们使用百度翻译API对获取到的句子进行翻译。首先,我们需要在百度开放平台上注册并申请翻译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

3단계: Baidu Translation API에 연결

다음으로 Baidu Translation API를 사용하여 얻은 문장을 번역합니다. 먼저 Baidu Open Platform에 등록하고 번역 API 키를 신청해야 합니다. API 키를 요청할 때 API를 통해 요청을 보낼 수 있도록 애플리케이션 설정에서 "접근 제어" 항목이 "열기"로 설정되어 있는지 확인하세요.

rrreee🎜YOUR_TRANSLATION_API_KEY를 신청한 Baidu Translation API 키로 바꿔주세요. 필요에 따라 출발어와 도착어를 다른 값으로 변경할 수도 있습니다. 🎜🎜위 코드 구현을 통해 Baidu Wenxin Yiyan API에 성공적으로 연결하고 특정 유형의 문장을 얻었습니다. 그런 다음 Baidu Translation API를 사용하여 문장을 번역했습니다. 필요에 맞게 수정하고 확장할 수 있습니다. 이 글이 여러분에게 도움이 되기를 바랍니다. 읽어주셔서 감사합니다! 🎜

위 내용은 Baidu Wenxin Yiyan API를 PHP와 연결하여 특정 유형의 문장을 획득하고 번역하는 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.