Skip to content

bytesharky/TencentCloudSDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个超级简单的腾讯云SDK

这是一个精简到只有7KB的腾讯云SDK,虽然短小,但却精悍,他几乎支持所有腾讯云的API v3,而且它同时支持GET和POST请求

你该如何使用它

它只有一个文件,你可以直接使用require引入到你的php代码中。

require('./TencentCloud.php')

然后你只需用你的SecretId、SecretKey初始化TencentCloud的一个实例。

$SecretId = "******";
$SecretKey = "******";

$txCloud = new TencentCloud($SecretId, $SecretKey);

到这里你就可以按照API文档说明,来发起一个请求,下面我们拿自然语言理解(NLP)下面的休闲聊天来测试一下。

//这里我们定义一个变量,用来存放API接口的地址,必须是https://或者http://开头
$url = "https://nlp.tencentcloudapi.com";

接下来我们需要继续查阅API文档,以设置必要的请求参数

//这里我们定义一个数组,存放的是公共参数
$common["Version"] ='2019-04-08';        //Version   是    本接口取值:2019-04-08。
$common["Region"]  = 'ap-guangzhou';     //Region    是    地域列表。
//$header["Timestamp"] = time();         //Timestamp 是    当前 UNIX 时间戳,鄙人的SDK会在计算签名时添加。
$common["Action"] = 'ChatBot';           //Action    是    本接口取值:ChatBot。

//这里我们定义一个数组,存放的是接口参数
$param["Query"] = "你好";                //Query     是    用户请求的query
//["OpenId"]                             //OpenId    否    服务的id, 主要用于儿童闲聊接口,比如手Q的openid。
//["Flag"]                               //Flag      否    0: 通用闲聊, 1:儿童闲聊, 默认是通用闲聊

至此我们完成了全部设置,下面就可以发起请求了

我们先试试POST请求

//我们可以用SendPost发送一个POST请求
$complete = $txCloud->SendPost($url, $common, $param);

//这里用来获取最近一次请求的curl命令,可在linux上直接运行,以方便调试
$curl = $txCloud->CurlCmd;

echo("POST:\n\n$complete\n\n$curl\n\n");


//运行后得到如下结果:
{"Response":{"Reply":"我挺好的呀","Confidence":0.877128,"RequestId":"99547497-0077-4269-8662-562fac6880dd"}}

curl -X POST https://nlp.tencentcloudapi.com \
-H "Content-Type: application/json" \
-H "Host: nlp.tencentcloudapi.com" \
-H "X-TC-Action: ChatBot" \
-H "X-TC-Region: ap-guangzhou" \
-H "X-TC-Timestamp: 1675888731" \
-H "X-TC-Version: 2019-04-08" \
-H "Authorization: TC3-HMAC-SHA256 Credential=*****/2023-02-08/nlp/tc3_request, SignedHeaders=content-type;host, Signature=dbf5247183f99c1dec0c3991d2698c4634fd08a1a7bbfe8c5e117c5dc1d286a4" \
-d '{"Query":"\u4f60\u597d"}'

我们再来试试GET请求

//我们可以用SendGet发送一个GET请求
$complete = $txCloud->SendGet($url, $common, $param);

//最近一次请求的curl命令
$curl = $txCloud->CurlCmd;

echo("GET:\n\n$complete\n\n$curl\n\n");

//运行后得到如下结果:
{"Response":{"Reply":"我挺好的呀","Confidence":0.877128,"RequestId":"9c12369f-3be3-4e71-99cb-0a838db17681"}}

curl -X GET https://nlp.tencentcloudapi.com?Query=%E4%BD%A0%E5%A5%BD \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Host: nlp.tencentcloudapi.com" \
-H "X-TC-Action: ChatBot" \
-H "X-TC-Region: ap-guangzhou" \
-H "X-TC-Timestamp: 1675888731" \
-H "X-TC-Version: 2019-04-08" \
-H "Authorization: TC3-HMAC-SHA256 Credential=*****/2023-02-08/nlp/tc3_request, SignedHeaders=content-type;host, Signature=dc451ec5bf24566848673db955aaa672d111851133b17246f318ceaffa44d652" \

最后总结一下:

腾讯的NLP闲聊可真的差劲,不支持上下文关联,回答大多都是答非所问。相比最近大火的CahtGPT完全不是一个级别。

About

只有7KB的腾讯云SDK,支持腾讯云所有的API v3。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published