BaiduPCS API 调用开发笔记

(要使用一个开发者账号创建一个应用,这样,每个应用都对应一个开发者作为负责人。)

在服务端看来,发出 API 调用的主体是一个应用,无论具体是从哪个进程哪个 IP 发出调用,只要是以个同一个应用的名义发出的,服务端就不区别对待。具体来讲,应用的身份验证信息包括一组 client_id 和 client_secret。开发者可以为某个应用申请某个 API 的调用权限,只有在这个应用获取这个 API 的调用权限之后,以这个应用的名义发出的对这个 API 的调用请求服务端才会受理

进一步,当需要在成功调用的 API 中访问某个用户的私有数据时,还需要用户对这次访问的授权。由于在服务端看来发出调用的是一个应用,因此需要用户对这个应用进行授权。具体来讲,在重定向用户浏览器到服务端 host 的认证页面时,这个 URL 包含 client_id 参数,这样服务端就能在页面中呈现应用的身份信息,而用户就能知道申请访问权限的是哪个应用。

在成功授权之后,会生成一个 access token,这个 access token 就对应了一个应用和一个用户(之所以能对应到一个用户,是因为用户在授权时输入了自己的账户密码)。一个 token 对应一个应用的作用是,在发出 API 调用时提供这个 token,服务端可以判断发出调用的是哪个应用,进而判断是否有这个 API 的调用权限。一个 token 对应一个用户的作用是,服务端可以判断这次调用的处理对象是哪个用户的数据。一个 token 对应一个应用+一个用户的作用是,服务端可以判断这次调用是否具有数据访问权限。因此,在生成 access token 之后,只需在 API 调用中提供 token 就确认了一次 API 调用中的三个重要信息,(主体:应用身份)API 调用权限,(客体:用户身份)被访问的数据,(关系:该应用对该用户)访问权限

时间: 2024-10-03 14:15:28

BaiduPCS API 调用开发笔记的相关文章

WO+开放平台:API调用开发手记(话费计费接口2.0)

WO+能力共享平台(http://open.wo.com.cn)是中国联通推出的开放平台.拥有的丰富电信能力资源以及深度整合挖掘的第三方能力资源等.WO+平台提供的API均为简洁优雅的RESTful风格,极大的方便了开发人员的使用. 上段为废话.如今言归正传.我会用一个简单的演示样例来说明WO+平台的API是怎样地简单,怎样地好用. 本文代码请參见:https://github.com/sharetop/WoPlus_Java_SDK A:确认流程 以调用量最大的『计费能力2.0』为例.先来看看

离线谷歌地图API的开发笔记(二)

一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小.移动.测量距离,测量面积. 支持以下矢量操作:点.线.面.透明矩形.透明圆形.箭头等添加/编辑/删除操作. 软件支持操作系统:Windows98/Me/2000/XP/win7/win8/win10 支持VB,VC,Delphi,C#等开发工具的二次开发, 从此可以专注于您的专业领域,不再为地图开

【转】Android开发笔记(序)写在前面的目录

原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经验教训,与网友互相切磋,从而去芜存菁进一步提升自己的水平.因此博主就想,入门的东西咱就不写了,人不能老停留在入门上:其次是想拾缺补漏,写写虽然小众却又用得着的东西:另外就是想以实用为主,不求大而全,但求小而精:还有就是有的知识点是java的,只是Android开发也会经常遇上,所以蛮记下来.个人的经

ebay的api的开发技术笔记,有点乱

使用eBay API基本步骤介绍 要开始使用eBay API,需要如下基本步骤: 1.    注册开发帐号: https://developer.ebay.com/join/Default.aspx 2.    选择API类型: eBay有大约6种API 开发语言,例如.net和Java的SDK http://developer.ebay.com/products/trading/ http://developer.ebay.com/products/overview/api-by-featur

novaclient的api调用流程与开发

novaclient的api调用流程与开发 2015年07月05日 19:27:17 qiushanjushi 阅读数:3915 http://blog.csdn.net/tpiperatgod/article/details/18375387?utm_source=tuicool 另一个地址:http://neuromancer.sinaapp.com/?p=64 从nova client的入口查看 cat /usr/bin/nova [python] view plaincopy #!/us

【Qt系列】基于Qt的词典开发系列<八>--用户登录及API调用的实现

在上一篇文章<调用网络API>中,我只讲述了如何直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用,当然本程序的实现也是借助于扇贝网的API接口文档http://www.shanbay.com/help/developer/api/. 由API文档可知,要想调用其API,必须先注册.因此,我就注册了,账户名为nineheadedbird, 密码为123456.显然,我们要查词,首先必须得登录该账户.如果用浏览器,那就很简单,只需单纯的输入用户名和密码就可以

微信订阅号开发笔记(三)

1.接收语音识别结果 if($msgType=="voice"){ //收到语音消息 //MediaId 语音消息媒体id,可以调用多媒体文件下载接口拉取数据. //Format 语音格式,如amr,speex等 $format = $postObj->Format; $mediaId = $postObj->MediaId; //开通语音识别功能,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recongnition字段. //注:由于客户端缓

安卓开发笔记——关于Handler的一些总结(上)

接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些基本定义和使用方式 还是以一个下载图片为例,先看下实例效果: 好了,先来看下关于Handler的定义: 以上是官方对于Hanler类的描述,大致意思是说:Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息

Django开发笔记之数据库的设计

后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原型的时候就开始开发的困难之处,每次需求更改就会带来后台的数据和对应接口的一次变更.费时费精力 2.有了需求,那么开始数据库的设计,在Django中,并不需要直接去操作数据库,而且使用继承modesl.Model的类,在类中定义自己的模型,然后使用Python manage.py syncdb就可看到