Comment implémenter l'authentification d'accès de l'API Baidu Wenxin Yiyan dans le développement PHP ?

王林
Libérer: 2023-08-27 15:34:02
original
1128 Les gens l'ont consulté

Comment implémenter lauthentification daccès de lAPI Baidu Wenxin Yiyan dans le développement PHP ?

Comment implémenter l'authentification d'accès de l'API Baidu Wenxin Yiyan dans le développement PHP ?

Pendant le processus de développement PHP, si vous devez utiliser l'API Baidu Wenxin Yiyan, une authentification d'accès est requise pour garantir que seuls les utilisateurs autorisés peuvent accéder normalement à l'API. Cet article présentera comment implémenter l'authentification d'accès de l'API Baidu Wenxin Yiyan en PHP et fournira des exemples de code pertinents.

Tout d'abord, avant d'utiliser l'API Baidu Wenxin Yiyan, vous devez créer un compte développeur Baidu et créer une application. Grâce à Baidu Open Platform, vous pouvez obtenir une clé API et une clé secrète. Ces deux paramètres sont des paramètres importants pour l'authentification d'accès.

Pour implémenter l'authentification d'accès de l'API Baidu Wenxin Yiyan en PHP, vous pouvez utiliser la classe d'interface BaiduOAuth2 fournie par Baidu. Voici un exemple d'authentification d'accès de base :

<?php
require_once('BaiduOAuth2.php');  //引入百度OAuth2类

$apiKey = 'Your_API_Key';  //替换为您在百度开放平台获取的API Key
$secretKey = 'Your_Secret_Key';  //替换为您在百度开放平台获取的Secret Key

$oauth = new BaiduOAuth2($apiKey, $secretKey);  //实例化百度OAuth2类

//获取访问令牌
$res = $oauth->getAccessToken();
if (!$res) {
    echo '获取访问令牌失败!';
    exit;
}

$accessToken = $oauth->getToken();  //获取访问令牌
$expiresIn = $oauth->getExpiresIn();  //获取访问令牌的有效期

//开始访问百度文心一言API
$url = 'https://aip.baidubce.com/rpc/2.0/unit/bot/chat';

//设置请求参数
$data = array(
    'access_token' => $accessToken,
    'query' => '你好'
);

$options = array(
    'http' => array(
        'method' => 'POST',
        'header' => 'Content-type: application/x-www-form-urlencoded',
        'content' => http_build_query($data)
    )
);

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

//输出API调用结果
echo $result;
?>
Copier après la connexion

Dans le code ci-dessus, le fichier de classe Baidu OAuth2 BaiduOAuth2.php est d'abord introduit et l'objet de classe BaiduOAuth2 est instancié via apiKey et secretKey. Utilisez ensuite la méthode getAccessToken() pour obtenir le jeton d'accès, et obtenez le jeton et la période de validité via les méthodes getToken() et getExpiresIn(). Ensuite, vous pouvez définir les paramètres de la requête en fonction de vos besoins et envoyer une requête POST via la fonction file_get_contents() pour appeler l'API Baidu Wenxin Yiyan.

Il convient de noter que cet exemple d'authentification d'accès ne fournit que la logique de base, et vous devez la modifier et l'étendre en fonction de la situation réelle. Par exemple, vous devrez peut-être ajouter une logique telle que la gestion des exceptions et des invites d'erreur pour améliorer la robustesse et l'expérience utilisateur du programme.

Résumé : grâce à la méthode ci-dessus, vous pouvez obtenir l'authentification d'accès à l'API Baidu Wenxin Yiyan dans le développement PHP. Seuls les utilisateurs autorisés peuvent accéder avec succès à l'API et obtenir les données requises. Dans le même temps, nous fournissons également un exemple de code de base, dans l’espoir d’être utile à votre travail de développement. Si vous avez des questions, n'hésitez pas à nous consulter.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal