有奖捉虫:云通信与企业服务文档专题,速来> HOT

调用方法

如何连接到腾讯云服务器是个首先要解决的问题,目前腾讯云服务端集群内部是分为两个层级的:

  • 接入层:
    负责外部请求调用的接入,例如1分钟100次的频率调用限制,例如对于腾讯云客户的服务器身份验证(基于 SecretId 和 SecrectKey 等等)。
  • 功能层:
    躲在接入层后面,既然接入层已经完成了安全确认和攻击屏蔽,功能层就只需要做自己的功能处理就行了,频道管理、文件查询等基本功能都是在这个部分实现的。
    api

您的服务器要调用腾讯云的服务端 API,首先要过接入层这一关,它会要求:

  • 您的请求协议必须是 HTTPS。
  • 您的请求头必须符合腾讯云的接入格式。
  • 您的请求头必须要包含正确的 SecretId 和 Signature。

服务端 SDK

所以推荐您使用 腾讯云服务端 SDK,目前提供了如下几种语言的版本:

  • PHP
  • Python
  • Java
  • .Net
  • Node.js

这些 SDK 的目的只有一个:帮您以最简单的方式连上腾讯云服务器,而且确保中间链路安全可靠不被攻击。

错误排查

调用腾讯云服务端 API,您可能会得到如下的这种错误码,它分成两个部分,前面一个 code 部分是腾讯云接入层的错误码,后面的 message 代表了错误的详细信息。

unicode

{"code":4600,"message":"\u534f\u8bae\u4e0d\u652f\u6301\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u8bf4\u660e\u3002"}

有些平台下拿到的 message 是如上的 unicode 形式的字符串,遇到这种情况打开 Chrome 浏览器转义一下就行了。

打开 Chrome 浏览器按 F12 进入开发者模式,在右下角的 Console 面板里输入:
"\u534f\u8bae\u4e0d\u652f\u6301\uff0c\u8bf7\u53c2\u8003\u6587\u6863\u8bf4\u660e\u3002"
就能得到转以后的结果"协议不支持,请参考文档说明。"

双错误码

当然,正常情况下,您看到的信息提示一般都是标准中文的,如下所示:

{"code":5100,"message":"20108:频道处于非编辑状态"}

您会看到这里有两个错误码:

  • 5100 :前面这个错误码是接入层返给您的错误码,例如4100含义是鉴权出现问题(即您填写在请求头里的 SecretId 和 Signature 有问题导致腾讯云后台系统认证失败),这时您的请求不会被投递给功能层,在接入层就直接被拦住了。

    5100这个错误码是比较特殊的,它的含义是:“接入层这边安全检查都没问题,后面的功能层让我转告您,说您的请求有问题。”

  • 20200:这里是实打实的功能层错误码,是具体功能模块返回的,例如20108代表“频道处于非编辑状态”,代表您的请求已经给到直播系统在处理了,只是直播系统任务您的请求有问题,返回特定的提示性错误。

错误码的查询统一参考 错误码表