其实整个调试过程按照百度的开发指南做就可以了,只是现在百度云平台又改版,而开发文档在一些地方没有同步更新。所以写下我的调试过程供大家参考。

1、当然首先是注册成为百度开发者

2、任意创建一个应用,我选择的是创建一个轻应用,因为有模板,几步就创建好了。

3、创建完成以后在“开发者服务管理”中就可以看到你创建的应用了,然后点击进入刚创建的应用的管理页面,选择其他API

这里可以看到"PCS API" 项,当前状态应该是关闭的,这个需要申请提交百度进行审核才能开通,这点比较坑爹。不过还好我申请几天后就开通了,贴吧里有人说申请了1个多月没反应。

这里可以直接点"PCS API" 就可以打开PCS的开发文档,http://developer.baidu.com/wiki/index.php?title=docs/pcs。里面有一节是“开通PCS API权限”,可以参考。

4、PCS API权限申请通过以后就可以进行“获取Access_Token”了,有几种方式具体可以参考开发文档。我选择的是“Device授权”方式。因为我是在我的linux虚拟机上测试,完全是一个client方式。具体说明开发文档写得比较全,在浏览器中访问该地址:

https://openapi.baidu.com/oauth/2.0/device/code?client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&response_type=device_code&scope=basic,netdisk

其中client_id为“开发者服务管理”页面的“API Key”。成功后会返回一段json:

{
     "device_code":"a82hjs723h72h3a82hjs723h72h3vb",
     "user_code":"8sjiae3p",
     "verification_url":"https:\/\/openapi.baidu.com\/oauth\/2\.0\/device",
     "qrcode_url":"http:\/\/openapi.baidu.com\/device\/qrcode\/6c6a8afee394f99e55eb25858\/2c885vjk",
     "expires_in":1800,
     "interval":5
}

我们需要用的就是这个 “device_code”、"user_code",打开http://openapi.baidu.com/device,登录想要使用的百度网盘账号,填写user_code,进行授权。完成以后再访问

https://openapi.baidu.com/oauth/2.0/token?
grant_type=device_token&
code=ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn&
client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&
client_secret=0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2

这里的code就是device_code。这一次就拿到真正需要的access_token了:

{
    "access_token": "1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328",
    "expires_in": 86400,
    "refresh_token": "2.385d55f8615fdfd9edb7c4b5ebdc3e39.604800.1293440400-2346678-124328",
    "scope": "basic email",
    "session_key": "ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn",
    "session_secret": "248APxvxjCZ0VEC43EYrvxqaK4oZExMB",
}

5、由于我是在虚拟机调试,使用curl工具发起https请求,详细注解请参考:

获取空间配合信息:

curl  "https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328"

返回:

{"quota":2850784542720,"used":6715600798,"request_id":2655147104}

 

上传文件:

curl -F "action=upload" -F "filename=@test.txt" "https://pcs.baidu.com/rest/2.0/pcs/file?method=upload&path=%2Fapps%2Fuser_data%2ftest.txt&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328"

结果:

请注意,这里的path是我遇到的最大的问题,开始的尝试都是path=%2Fapps,返回{"error_code":31064,"error_msg":"file is not authorized","request_id":3760805529}。后来才知道应用只能访问下面一层的user_data目录,这里的user_data应该是在申请开通PCS API权限的时候填写的。

查看上传的文件:

curl  "https://pcs.baidu.com/rest/2.0/pcs/file?method=list&access_token=1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328&path=%2Fapps%2Fuser_data"

至此整个过程基本上就跑通了。

转载于:https://www.cnblogs.com/leo-blog/p/3591659.html

百度云PCS调试过程相关推荐

  1. 百度云cdn设置州五年制大专_[百度云CDN]配置过程坑点集合

    图片字体图标访问不正常?CDN直接403或404?防盗链挡了自家网站?QPS和CORS莫名其妙? 本文将总结百度云CDN使用过程中--回源HOST与源站地址,防盗链白名单Referer,IP访问限频Q ...

  2. 百度云资深架构师聊百度云存储架构特点

    12月9日,2016中国存储峰会在北京举行.在"云存储及灾备技术论坛",百度云资深架构师王耀介绍了百度云的发展历程,并就百度云存储产品体系中的块存储与对象存储的架构与特点进行了重点 ...

  3. 百度云世界里的“七种武器”:PCS、BAE、Site App、ScreenX等

    如果说去年百度世界的关键词是"百度新首页"的话,那么今年在研发者人群中,对百度世界最深的印象就是"七种武器",即在云的世界里,百度为开发者所提供的包括个人云存储 ...

  4. 在调试器里看百度云管家

    作者简介: 张银奎,<软件调试>和<格蠹汇编>作者,从事软件开发和研究十余年,对IA-32架构.操作系统内核.虚拟技术,尤其对软件调试有较深入的研究. 本文为<程序员&g ...

  5. 百度云主机(配置、调试环境)文件上传(快速建站,实现首页访问) - FTP篇

    百度云主机BCH实例(配置.调试环境)FTP文件上传,如何操作? 百度云虚拟主机参考文档:产品手册大全 总结步骤: 在你首次登录控制面板,系统会要求初始化您的密码,包括设定用户账号.管理密码.FTP账 ...

  6. 百度云主机使用WordPress建站ideashare.club过程总结与那些坑

    目录 为什么建站? 购买主机 配置主机 购买域名 ICP备案 解析域名 WordPress安装 申请SSL证书 踩过的那些坑: 1,域名解析的设置 2,隐私保护开关操作失败 3,开启了SSL证书以及w ...

  7. 使用百度云服务器BCC搭建网站,过程记录

    1.买了个最低端的百度云云服务器:1G内存+1核+40系统盘,获得一个静态服务IP地址,之前在阿里那边买个一个域名,在百度云备案一下,通过后就可以正常解析,把域名和IP对应起来了,主要目的是熟悉一下整 ...

  8. 在百度云购买域名、阿里云购买服务器二者绑定过程

    最近笔者闲来无事,于是就开发一个个人网站,就在百度购买了域名,阿里购买了服务器,购买流程就不细说了. 我在阿里购买的服务器.顾就在阿里进行备案,备案之后就涉及到域名和空间的绑定问题,笔者没有去读阿里的 ...

  9. kali linux 2020虚拟机镜像的安装(详细安装过程及安装包百度云连接)

    由于kali的安装包在官网下载速度极慢,这里提供了一个kali 2020.2的安装包的百度云连接,希望可以帮助大家: kali-linux-2020-W20-installer-amd64.iso 链 ...

最新文章

  1. Java8之Consumer、Supplier、Predicate和Function攻略
  2. 安卓模拟器按键_安卓模拟机(夜神模拟器)
  3. CRC32爆破解密脚本工具(三)
  4. python zipfile 模块下中文乱码 '╡┌╥╗╒┬_╒╨▒Ω╣½╕µ.docx'
  5. 【Linux】一步一步学Linux——last命令(98)
  6. mysql redis教程_MySQL redis学习与应用
  7. ARM汇编指令调试方法
  8. 16. Shell scripts
  9. 图形界面组件实验的一点总结
  10. Nodejs文件相关操作
  11. 项目新增需求确认单(模板)
  12. ArcGIS影像空值填充\插补
  13. excel2016打开需要配置解决方法
  14. stream流倒序排序_Stream流排序
  15. 星巴克推出Web3平台;天啦噜,AI绘画能007了;『决策算法』电子书;合成人脸数据集;面向数据的版本控制;前沿论文 | ShowMeAI资讯日报
  16. 帘卷秋声,雁过寒楼。落烟华,满清秋。浣一溪瘦月
  17. android播放语音,切换听筒模式遇到的问题
  18. 使用自定义RRT*全局规划器建图导航
  19. 电脑上传网速怎么测试软件,Win7如何测试电脑上传速度?
  20. 高德地图实现画线搜索

热门文章

  1. Linux基础——makefile编写
  2. 看看这个和runjs类似的网站jsrun
  3. 罚函数(内点罚函数和外点罚函数)
  4. 《长尾理论》读书笔记------”长尾法则--怎样创造一个消费天堂“
  5. MySQL--SQL执行顺序详解
  6. idea 如何合并其他分支的指定文件或代码块到当前分支
  7. Apache/.htaccess的Order Allow,Deny 详解
  8. Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)
  9. 怎么用手机修改服务器的网关,网关,详细教您手机怎么改网关和IP
  10. 使用DiskGenius(原DiskMan)修复损坏的硬盘分区