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

news2024/9/21 13:27:13

百度智能云服务内置很多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;
        }

    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1311850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Binder IPC通讯流程 摘要

一次完整的 Binder IPC 通信过程通常是这样: 首先 Binder 驱动在内核空间创建一个数据接收缓存区;接着在内核空间开辟一块内核缓存区,建立内核缓存区和内核中数据接收缓存区之间的映射关系,以及内核中数据接收缓存区和接收进程用…

Leetcode2048. 下一个更大的数值平衡数

Every day a Leetcode 题目来源:2048. 下一个更大的数值平衡数 解法1:枚举 这种题不能想复杂了,枚举大法好。 代码: /** lc appleetcode.cn id2048 langcpp** [2048] 下一个更大的数值平衡数*/// lc codestart class Soluti…

中医电子处方管理系统软件,中医配方模板一键生成软件操作教程

一、前言: 在中医开电子处方时,如果能够使用配方模板功能,则可以节省很多时间。使用配方模板一键导入,几秒即可完成开单。 下面就以佳易王电子处方管理系统软件V17.1版本为例说明,其他版本可以参考,软件下…

SpringBoot整合Lucene实现全文检索【详细步骤】【附源码】

笑小枫的专属目录 1. 项目背景2. 什么是Lucene3. 引入依赖,配置索引3.1 引入Lucene依赖和分词器依赖3.2 表结构和数据准备3.3 创建索引3.4 修改索引3.5删除索引 4. 数据检索4.1 基础搜索4.2 一个关键词,在多个字段里面搜索4.3 搜索结果高亮显示4.4 分页检…

商业智能BI和数据可视化的区别

现在市场上有非常多的商业智能BI产品,几乎都在着重宣传其数据可视化功能的强大,给人造成一种商业智能BI就是数据可视化的印象。事实上商业智能BI并不等于数据可视化。要探究商业智能BI和数据可视化的区别,我们先要分别弄清楚这两个概念。 1、…

Java 基础学习(十)包装类、异常

1 包装类 1.1 包装类概述 1.1.1 什么是包装类 在进行类型转换时,有一种特殊的转换:将 int 这样的基本数据类型转换为对象,如下图所示: 所有基本类型都有一个与之对应的类,即包装类(wrapper)。…

VS2022配置C++ 20解决import std报错

C 20新特征支持用import std来导入std模块,如下: 配置时主要有两个步骤: (1)项目--属性--常规--C语言标准--预览 - 最新 C 工作草案中的功能 (/std:clatest) 注意选择ISO C20 标准 (/std:c20)也不能正常使用&#xf…

STM32的基本定时器注意点

本文介绍了STM32基本定时器3个重要的寄存器PSC、ARR、CNT,以及缓冲机制和计数细节。 基本定时器的框图 预分频器寄存器(TIMx_PSC)可以在运行过程中修改它的数值,新的预分频数值将在下一个更新事件时起作用。因为更新事件发生时,会把 TIMx_PS…

PHP在线SEO文章伪原创同义词交换工具源码

源码介绍 PHP在线SEO文章伪原创同义词交换工具源码 支持关键词提交 独立后台 1.支持文章在线伪原创功能 2.支持关键字交换预览 3.有独立背景 4.支持访客提交关键词(后台可以审核用户提交的关键词) 5.完全开源,支持二次开发 使用php语言独立开发utf-8编码 适合工具…

Java入门学习笔记一

一、Java语言环境搭建 1、JAVA语言的跨平台原理 1.1、什么是跨平台性? 跨平台就是说,同一个软件可以在不同的操作系统(例如:Windows、Linux、mad)上执行,而不需要对软件做任务处理。即通过Java语言编写的…

一次失败的群晖(Synology)NAS 硬盘更换扩容

对更换硬盘和扩容的时间知道要比较长,但是没有想到要这么长,同时还比较困难的获得更新的数据。 既然闲着也是闲着,并且每天都会查看下状态,所以就想着干脆记录下了。 需要有心理准备就是扩容和存储池的修复时间的单位不是分钟&a…

【Hadoop】

Hadoop是一个开源的分布式离线数据处理框架,底层是用Java语言编写的,包含了HDFS、MapReduce、Yarn三大部分。 组件配置文件启动进程备注Hadoop HDFS需修改需启动 NameNode(NN)作为主节点 DataNode(DN)作为从节点 SecondaryNameNode(SNN)主节点辅助分…

Appium自动化常用adb操作封装

一、前置说明 在Appium自动化中,经常需要使用adb命令与设备进行交互,所以有必要把常用的adb操作封装成一个类 二、代码实现 import os import platform import re import subprocessfrom common import path from common.exception import AndroidSDK…

数据结构从入门到入土——初识泛型

目录 一,包装类 1.基本数据类型和对应的包装类 2.装箱和拆箱 3.自动装箱和自动拆箱 二,什么是泛型? 三,引出泛型 语法 四,泛型类的使用 1.语法 2.类型推导(Type Inference) 五,裸类型(Raw Type) …

Axure中动态面板使用及轮播图多种登录方式左侧导航栏之案列

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、轮播图简介 1、什么是轮播图 2、轮播图有什么作用 3、轮播图有什么特点 4、轮播图适应范围 5、…

C语言—每日选择题—Day41

第一题 1. 有以下程序段: char *p, *q; p (char *)malloc(sizeof(char) * 20); q p; scanf("%s %s", p, q); printf("%s %s\n", p, q); 若从键盘输入:abc def↙,则输出结果是( ) A:d…

GDPU 数据结构 天码行空14

实验十四 查找算法的实现 一、【实验目的】 1、掌握顺序排序,二叉排序树的基本概念 2、掌握顺序排序,二叉排序树的基本算法(查找算法、插入算法、删除算法) 3、理解并掌握二叉排序数查找的平均查找长度。 二、【实验内容】 …

IIS + Axios 跨域设置

1、服务器端设置IIS &#xff08;web.config) 即可&#xff0c;不需要对django settings.py做配置&#xff08;python manage.py runserver 才需要settings.py配置跨域&#xff0c;IIS在iis上配&#xff09; 网站根目录的web.config中加上这段&#xff1a; <httpProtocol&…

Nginx 服务器安装及配置文件详解

1. 安装nginx 1.1 选择稳定版本 我们编译安装nginx来定制自己的模块&#xff0c;机器CentOS 6.2 x86_64。首先安装缺少的依赖包&#xff1a; # yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 这些软件包如果yum上没有的话…

Android : SensorManager 传感器入门 简单应用

功能介绍&#xff1a;转动手机 图片跟着旋转 界面&#xff1a; activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/andr…