【亲测】获取百度智能云access_token并存储,百度智能云access_token有效期

百度智能云服务内置很多api接口(文字识别,企业信息识别,等),所有百度智能云自带的接口都会用到百度的access_token

第一步:登录百度智能云管理中心

第二步:创建账户,完整身份认证

第三步:创建应用,获得API key与Secret Key

在这里插入图片描述

【需要注意】第四步:创建数据表存储Access_token(因为百度access_token得有效期为30天不能直接固定,可以存储成文件或者存数据库,我这里是存的数据库)

CREATE TABLE `bd_ak` (
  `id` int(10) UNSIGNED NOT NULL,
  `body` text NOT NULL COMMENT '返回内容',
  `create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='百度Access_token表' ROW_FORMAT=DYNAMIC;
ALTER TABLE `bd_ak`
  ADD PRIMARY KEY (`id`);
ALTER TABLE `bd_ak`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
COMMIT;

第五步:通过AK和SK获取 Access_token,并存储

    public function run()
    {
    	//获取数据库内是否有没过期的Access_token
        $bd_ak=db('bd_ak')->where('create_time','>=',time())->find();
        
        if ($bd_ak){
        	//判断如果有Access_token则直接json_decode返回
            return json_decode($bd_ak['body']);
        }else{
        	//判断如果没有Access_token,就需要通过AK和SK获取 Access_token
            $client_id='';//创建应用时返回的API key
            $client_secret='';//创建应用时返回的Secret Key
            $curl = curl_init();
            curl_setopt_array($curl, array(
                CURLOPT_URL => "https://aip.baidubce.com/oauth/2.0/token?client_id=".$client_id."&client_secret=".$client_secret."&grant_type=client_credentials",
                CURLOPT_TIMEOUT => 30,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_CUSTOMREQUEST => 'POST',


                CURLOPT_HTTPHEADER => array(
                    'Content-Type: application/json',
                    'Accept: application/json'
                ),

            ));
            $response = curl_exec($curl);
            $return_data=json_decode($response);
            curl_close($curl);
            $data['body']=$response;
            $data['create_time']=time()+$return_data->expires_in;
            //存储access_token方便下次查询
            db('bd_ak')->insert($data);
            return $return_data;
        }

    }
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G佳伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值