腾讯云API接口使用中碰到的一些问题

公司做直播,使用腾讯云的点播来进行视频存储与转码,现在就讲一下使用腾讯云API接口中碰到的一些问题。以下提到的都是使用PHP。

接口鉴权中碰到的问题

按照腾讯云API-接口鉴权中进行操作,发现腾讯云返回响应码为4100,鉴权失败。后来经过思考,发现在参数notifyUrl即回调地址参数定义时使用了urlencode函数进行处理,去掉urlencode处理。鉴权部分没有再出现问题啦。

回调中碰到的问题

因为需要转码完成以后进行回调,然后腾讯云会按照你之前提供的回调地址来进行回调。回调时是使用POST发送JSON数据。在测试环境中接受JSON数据都是使用$GLOBALS['HTTP_RAW_POST_DATA']来接受,结果上线以后发现使用$GLOBALS['HTTP_RAW_POST_DATA']来获取回调的JSON数据,并不能接收到(这也就是坑,线上环境和线下环境不一致导致的)。然后使用$_POST来接受数据,能接受数据,但是数据有问题,一直无法进行urldecode操作,使用urldecode操作获取的数据会返回NULL。然后各种查资料,总算解决这个问题啦,使用file_get_contents("php://input");可以获取原始的回调JSON数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
首先,需要在腾讯云官网上申请 API 密钥,具体步骤如下: 1. 登录腾讯云控制台,进入 API 密钥管理页面。 2. 点击“新建密钥”按钮,生成 API 密钥。 3. 将密钥保存好,以便在 PHP 代码调用。 接下来,可以使用 PHP CURL 函数调用腾讯云 API 接口,具体步骤如下: 1. 构造请求 URL,包括接口地址、请求参数、签名等信息; 2. 使用 CURL 函数发送请求,获取服务器响应; 3. 解析服务器响应,提取需要的信息。 下面是一个简单的 PHP 代码示例,演示如何调用腾讯云 API 接口: ``` <?php // 定义 API 地址和请求参数 $url = "https://api.qcloud.com/v2/index.php"; $params = array( "Action" => "DescribeInstances", "Nonce" => rand(), "Region" => "ap-guangzhou", "SecretId" => "your_secret_id", "SignatureMethod" => "HmacSHA256", "Timestamp" => time(), ); // 计算签名 ksort($params); $srcStr = "GET" . $url . "?" . http_build_query($params); $signStr = base64_encode(hash_hmac("sha256", $srcStr, "your_secret_key", true)); $params["Signature"] = $signStr; // 发送请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url . "?" . http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); // 解析响应 $result = json_decode($response, true); print_r($result); ?> ``` 在上面的代码,需要替换以下参数: - your_secret_id:替换为自己的 API 密钥 ID; - your_secret_key:替换为自己的 API 密钥 Key。 此外,还需要根据接口文档,调整请求参数和响应解析方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值