{"id":3208,"date":"2015-05-10T22:49:00","date_gmt":"2015-05-10T14:49:00","guid":{"rendered":"http:\/\/blog.hmouse.tk\/?p=3208"},"modified":"2017-03-16T11:53:28","modified_gmt":"2017-03-16T03:53:28","slug":"linux-%e4%bd%bf%e7%94%a8%e7%99%be%e5%ba%a6%e7%bd%91%e7%9b%98api%e4%b8%8a%e4%bc%a0%e5%a4%87%e4%bb%bd%e6%96%87%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/www.hmouse.cn\/?p=3208","title":{"rendered":"Linux \u4f7f\u7528\u767e\u5ea6\u7f51\u76d8API\u4e0a\u4f20\u5907\u4efd\u6587\u4ef6\u5e76\u6dfb\u52a0\u5ba2\u6237\u7aef"},"content":{"rendered":"<p>******\u540e\u9762\u4f1a\u6dfb\u52a0\u4e00\u79cd\u65b0\u7684\u65b9\u6cd5<\/p>\n<p>******5\u6708\u4efd\u767e\u5ea6\u4e91\u8fc1\u79fb\u9020\u6210\u4e86\u8001\u7684\u4e0d\u80fd\u7528\uff0c\u540e\u6765\u53c8\u6d4b\u8bd5\u4e00\u4e2a\u65b0\u7684\u65b9\u6cd5\u653e\u5728\u6700\u540e\uff01<\/p>\n<p>\u53c2\u8003url\uff1a<a title=\"http:\/\/www.haiyun.me\/archives\/859.html\" href=\"http:\/\/www.haiyun.me\/archives\/859.html\">http:\/\/www.haiyun.me\/archives\/859.html<\/a><\/p>\n<p>\u6700\u8fd1\u767e\u5ea6\u7f51\u76d8\u5c06\u7a7a\u95f4\u5347\u7ea7\u5230\u4e86\u6c38\u4e451TB\uff0c\u9274\u4e8e\u767e\u5ea6\u7684\u5b9e\u529b\u7528\u505a\u6570\u636e\u5907\u4efd\u7a7a\u95f4\u4e0d\u9519\uff0c\u4e0d\u8fc7\u767e\u5ea6\u7f51\u76d8\u6ca1\u6709Linux\u4e0b\u7684\u5ba2\u6237\u7aef\uff0c\u4e0a\u4f20\u7ba1\u7406\u6587\u4ef6\u9700\u901a\u8fc7\u767e\u5ea6\u5f00\u653e\u4e91\u5e73\u53f0\u8bbf\u95eePCS\u8d44\u6e90\u7684\u7cfb\u5217\u63a5\u53e3\u3002<br \/>\n1.\u9996\u5148\u52a0\u5165\u767e\u5ea6\u5f00\u53d1\u8005\uff1ahttp:\/\/developer.baidu.com\/dev#\/create<br \/>\n2.\u4efb\u610f\u521b\u5efa\u4e00\u4e2a\u5e94\u7528\u83b7\u53d6API Key\u5e76\u5f00\u901aPCS API\u6743\u9650\uff0c\u5f00\u653eAPI &gt; API\u7ba1\u7406 &gt; API\u5217\u8868 &gt; API\u670d\u52a1 &gt; PCS API &gt; \u5f00\u542f<br \/>\n3.\u901a\u8fc7\u521a\u521a\u65b0\u5efa\u5e94\u7528\u7684API Key\u83b7\u53d6device code\u548cuser_code<\/p>\n<pre>curl -k -L -d \"client_id=&lt;api_id&gt;&amp;response_type=device_code&amp;scope=basic,netdisk\" \\\r\n\"https:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code\"<\/pre>\n<p>4.\u5728\u6d4f\u89c8\u5668\u6253\u5f00https:\/\/openapi.baidu.com\/device\u8f93\u5165\u83b7\u53d6\u5230\u7684user_code\u5e76\u8fde\u63a5\uff0c\u7136\u540e\u901a\u8fc7device code\u83b7\u53d6refresh_token\u548caccess_token\uff1a<\/p>\n<pre>curl -k -L -d \"grant_type=device_token&amp;code=&lt;code&gt;&amp;client_id=&lt;api_id&gt;&amp;client_secret=&lt;api_secret&gt;\" \\\r\n\"https:\/\/openapi.baidu.com\/oauth\/2.0\/token\"<\/pre>\n<p>5.\u6b64\u65f6\u901a\u8fc7access_token\u5c31\u53ef\u5bf9\u7f51\u76d8\u6587\u4ef6\u8fdb\u884c\u64cd\u4f5c\u4e86\uff0c\u83b7\u53d6\u5230access_token\u7684\u6709\u6548\u671f\u4e3a30\u5929\uff0c\u8fc7\u671f\u540e\u901a\u8fc7refresh_token\u91cd\u65b0\u83b7\u53d6access_token<\/p>\n<pre>curl -k -L -d \"grant_type=refresh_token&amp;refresh_token=&lt;refresh_token&gt;&amp;client_id=\\\r\n&lt;api_id&gt;&amp;client_secret=&lt;api_secret&gt;\"<\/pre>\n<p>\u83b7\u53d6\u7f51\u76d8\u914d\u989d\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/quota?method=\\\r\ninfo&amp;access_token=&lt;access_token&gt;\"<\/pre>\n<p>\u4e0a\u4f20\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L -F \"file=@haiyun.me.tar.gz\" \"https:\/\/c.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=upload&amp;\\\r\naccess_token=&lt;access_token&gt;&amp;path=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u4e0b\u8f7d\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -O \"https:\/\/d.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=download&amp;access_token=&lt;access_token&gt;&amp;\\\r\npath=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u5220\u9664\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file?method=delete&amp;access_token=&lt;access_token&gt;\\\r\n&amp;path=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u590d\u5236\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/c.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=copy&amp;access_token=&lt;access_token&gt;\\\r\n&amp;from=\/apps\/pcsupload\/haiyun.me.tar.gz&amp;to=\/apps\/pcsupload\/www.haiyun.me.tar.gz\"<\/pre>\n<p>\u5217\u51fa\u76ee\u5f55\u5185\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file?method=list&amp;access_token=&lt;access_token&gt;\\\r\n&amp;path=\/apps\/pcsupload\/\"<\/pre>\n<p>\u66f4\u591a\u64cd\u4f5c\uff1a<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/pcs\/rest\/file_data_apis_list\">http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/pcs\/rest\/file_data_apis_list<\/a><\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>1\uff1a\u5fc5\u987b\u8981\u5f00\u901aPCS API\uff1a<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image28.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image_thumb28.png\" alt=\"image\" width=\"244\" height=\"19\" border=\"0\" \/><\/a><\/p>\n<p>2\uff1a\u77e5\u9053\u4e0a\u4f20\u7684\u8def\u5f84<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image29.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image_thumb29.png\" alt=\"image\" width=\"244\" height=\"147\" border=\"0\" \/><\/a><\/p>\n<p>3\uff1a\u5927\u6587\u4ef6\u4e0a\u4f20\u65b9\u6cd5\uff1a<\/p>\n<p>\u529f\u80fd<\/p>\n<p>\u4e0e\u5206\u7247\u6587\u4ef6\u4e0a\u4f20\u7684upload\u65b9\u6cd5\u914d\u5408\u4f7f\u7528\uff0c\u53ef\u5b9e\u73b0\u8d85\u5927\u6587\u4ef6\uff08&gt;2G\uff09\u4e0a\u4f20\uff0c\u540c\u65f6\u4e5f\u53ef\u7528\u4e8e\u65ad\u70b9\u7eed\u4f20\u7684\u573a\u666f\u3002<\/p>\n<p>HTTP\u8bf7\u6c42\u65b9\u5f0f<\/p>\n<p>POST<\/p>\n<p>URL<\/p>\n<pre> https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file\r\n<\/pre>\n<p>\u8bf7\u6c42\u53c2\u6570<\/p>\n<p>\u53c2\u6570\u540d\u79f0<br \/>\n\u7c7b\u578b<br \/>\n\u662f\u5426\u5fc5\u9700<br \/>\n\u63cf\u8ff0<\/p>\n<p>method<br \/>\nstring<br \/>\n\u662f<br \/>\n\u56fa\u5b9a\u503c\uff0ccreatesuperfile\u3002<\/p>\n<p>\u8bf7\u6c42\u793a\u4f8b:<\/p>\n<pre style=\"height: 63px; width: 845px;\">POST https:\/\/pcs.baidu.com\/rest\/2.0\/file?method=createsuperfile&amp;path=%2fapps%2fyunform%2f6ddddd.JPG&amp;access_token=1.9fb09e8cce44c0d000e6787138924a26.86400.1331273905.2600617452-188383\r\n<\/pre>\n<p>\u5b98\u65b9\u7684\u4e00\u4e2a\u767e\u5ea6\u4e91\u76d8\u7684shell tool\u5de5\u5177\uff0c\u8c8c\u4f3c\u662f\u4e0d\u9519\uff0c\u4f46\u662f\u4e0d\u77e5\u9053\u4e3a\u5565\u7528\u4e0d\u4e86\uff0c\u6709\u5174\u8da3\u7684\u670b\u53cb\u53ef\u4ee5\u8bd5\u8bd5\u54c8\u3002<\/p>\n<p><code><a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/cplat\/stor\/sdk#Shell-Tool\">http:<\/a><\/code><code>\/\/developer.baidu.com\/wiki\/index.php?title=docs\/cplat\/stor\/sdk#Shell-Tool<\/code><\/p>\n<p>###########linux\u7684 c\u5ba2\u6237\u7aef\u5982\u4e0b<\/p>\n<p>\u53c2\u8003url\uff1a<a title=\"http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html\" href=\"http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html\">http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html<\/a><\/p>\n<p>\u5b89\u88c5\u6b65\u9aa4\uff1a<\/p>\n<p>yum -y\u00a0 upgrade libcurl libcurl-devel<\/p>\n<p>yum -y install gcc unzip make imake autoconf curl-devel<\/p>\n<p>cd \/root\/shell\/<\/p>\n<p>wget -c http:\/\/blog.cnlabs.net\/wp-content\/uploads\/2013\/08\/Baidu_PCS.zip<\/p>\n<p>\uff08\u6211\u7684\u7f51\u76d8\u4e5f\u6709)<\/p>\n<p>unzip -o Baidu_PCS.zip<\/p>\n<p>cd Baidu_PCS<\/p>\n<p># \u4fee\u6539\u4e0b baidu_pcs.c<br \/>\n\u5982\u56fe<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.hackroad.com\/wp-content\/uploads\/2013\/11\/ea8ffe3cf582d75cc3728fc731e6e82b.jpg\" alt=\"baidupcstools\" width=\"614\" height=\"353\" \/><br \/>\nID\u548cKEY \u4fee\u6539\u4e3a\u4f60\u7684\u5f00\u53d1\u4e2d\u5fc3\u5e94\u7528ID\u548c\u5bc6\u5319<\/p>\n<p>make #\u7f16\u8bd1\u4e0b \u4e0d\u7528make install \u5c31\u4e00\u4e2a\u6587\u4ef6<\/p>\n<p>\u4f1a\u751f\u6210\u4e00\u4e2a baidu_pcs\u7684\u6267\u884c\u6587\u4ef6<br \/>\n\u8fd9\u4e2a\u5c31\u662f\u5ba2\u6237\u7aef\u4e86<\/p>\n<p><strong>\u6388\u6743 \u83b7\u5f97 auth token<\/strong><br \/>\n=======================================<br \/>\ncd \/opt\/<br \/>\n.\/baidu_pcs info<br \/>\n\u4f1a\u63d0\u793a\u4e00\u4e2a\u6388\u6743\u94fe\u63a5 \u548c\u6388\u6743\u7801 COPY URL \u540e\u590d\u5236\u5230\u6d4f\u89c8\u5668\u6253\u5f00<br \/>\n\u4f7f\u7528\u4f60\u7684\u8d26\u6237\u548c\u5bc6\u7801\u767b\u5f55 \u7136\u540e\u586b\u5165\u6388\u6743\u7801\u00a0 \uff08\u73b0\u5728\u90fd\u662f2\u5fae\u7801\uff0c\u7528\u624b\u673a\u6388\u6743\u4e0b\u5373\u53ef\uff09<br \/>\n\u63d0\u793a\u6210\u529f \u5c31\u4ee3\u8868\u83b7\u5f97\u4e86auth token 1\u4e2a\u6708\u6709\u6548<\/p>\n<p><strong>Step4 \u914d\u7f6e\u548c\u4e0a\u4f20 \u4e0b\u8f7d\u6d4b\u8bd5 <\/strong><br \/>\n=======================================<br \/>\n\u73b0\u5728\u4f7f\u7528 .\/baidu_pcs info<br \/>\n\u53ef\u4ee5\u6253\u5370\u51fa\u4f60\u7684\u7a7a\u95f4\u914d\u989d\u4e86<br \/>\n\u5982\u56fe \u53ef\u4ee5\u663e\u793a\u4f7f\u7528\u4e86100\u591aG \u603b\u51711.12T<br \/>\n<a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb.png\" alt=\"image\" width=\"244\" height=\"41\" border=\"0\" \/><\/a><\/p>\n<p>\u4e0a\u4f20\u6d4b\u8bd5 \u628a\u6587\u4ef6\u4e0a\u4f20\u5230\u767e\u5ea6\u7f51\u76d8\u91cc<br \/>\n<a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb1.png\" alt=\"image\" width=\"244\" height=\"26\" border=\"0\" \/><\/a><\/p>\n<p>\u5728\u53bb\u7f51\u76d8\u770b\u770b \u6709\u6ca1\u6210\u529f\u4e0a\u4f20<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb2.png\" alt=\"image\" width=\"244\" height=\"77\" border=\"0\" \/><\/a><\/p>\n<p>PS \u5982\u679c\u51fa\u73b0ERROR: \u83b7\u53d6\u4fe1\u606f\u5931\u8d25111-Access token expired<\/p>\n<p>\u5982\u679c\u7528\u8fd9\u4e2a\u8f6f\u4ef6\u91cd\u65b0\u7f16\u8bd1\u8fd8\u662f\u62a5\u9519\uff0c\u540e\u6765\u4ece\u6e90\u7801\u53d1\u73b0\uff0c\u4ed6\u4f1a\u7f13\u5b58\u5df2\u5b58\u50a8\u7684token\uff0c\u9700\u8981\u5220\u9664\u4e4b\u540e\uff0c\u91cd\u65b0\u586b\u5199token\uff0c\u7136\u540e\u518d\u91cd\u65b0\u7f16\u8bd1\u5373\u53ef\u3002<\/p>\n<p>\u7f13\u5b58\u6587\u4ef6\u662f\uff1a.baidu_pcs_token<br \/>\n[root@blog ~]# ll \/root\/.baidu_pcs_token<br \/>\n-rw&#8212;&#8212;- 1 root root 73 10\u6708 11 15:12 \/root\/.baidu_pcs_token<\/p>\n<p>&nbsp;<\/p>\n<p>PS \u8fd8\u6709 \u6211\u8fd9\u91cc\u53ea\u6709linux-api\u7684\u76ee\u5f55\u3002 \u5176\u5b9e\u8fd9\u662f\u670d\u52a1\u5728\u5f00\u901aPCS\u65f6\u5fc5\u987b\u8981\u6307\u5b9a\u76ee\u5f55\u3002<\/p>\n<p>\u6211\u4e0b\u9762\u7ed9\u51fa\u4e86\u6f14\u793a\u3002<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb3.png\" alt=\"image\" width=\"244\" height=\"134\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb4.png\" alt=\"image\" width=\"244\" height=\"219\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u6240\u4ee5\u4e00\u4e2a\u670d\u52a1\u9879\u76ee\u4e0b\u9762\u53ea\u6709\u4e00\u4e2a\uff01<\/p>\n<p>########\u540e\u6765\u9047\u5230\u4e2a Access token \u4e00\u4e2a\u6708\u5c31\u8fc7\u671f\u7684\u95ee\u9898\uff0c\u6bcf\u6b21\u8981\u91cd\u65b0\u9a8c\u8bc1\uff0c\u540e\u6765\u7f51\u4e0a\u53d1\u73b0\u67092\u4e2d\u65b9\u5f0f\u53ef\u4ee5\u89e3\u51b3\uff0c\u4e00\u4e2a\u662f\u901a\u8fc7refresh_token\u6765\u4e00\u76f4\u83b7\u53d6\uff0c\u53e6\u4e00\u4e2a\u529e\u6cd5\u662f\u5feb\u901f\u83b7\u53d6\uff0c\u6587\u6863\u4e0a\u8bf4\u4e00\u76f4\u7528\u4e0d\u4f1a\u8fc7\u671f\uff0c\u5148\u8bd5\u8bd5\uff1a<\/p>\n<p>\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165\u5982\u4e0b\u5185\u5bb9 \u5176\u4e2d&#8221;{\u4f60\u7684API KEY}&#8221;\u66ff\u6362\u6210\u4f60\u7684API Key<\/p>\n<p><code>https:\/\/openapi.baidu.com \/oauth\/2.0\/authorize?response_type=token&amp;client_id={\u4f60\u7684API KEY}&amp; redirect_uri=oob&amp;scope=netdisk<\/code><\/p>\n<p>\u6253\u5f00\u4e4b\u540e\u4f1a\u8df3\u8f6c\u5230\u53e6\u5916\u4e00\u4e2a\u5730\u5740<\/p>\n<p><code>http:\/\/openapi.baidu.com\/oauth\/2.0\/login_success#expires_in=2592000&amp;access_token={access_token}&amp;session_secret={session_secret}&amp;session_key={session_key}&amp;scope=basic+netdisk<\/code><\/p>\n<p>\u5176\u4e2daccess_token\u540e\u9762\u4e00\u6bb5\u662f\u6211\u4eec\u9700\u8981\u7684,\u4fdd\u5b58\u4e0b\u6765\u5373\u53ef<\/p>\n<p>\u4f7f\u7528\u671f\u9650\u662f30\u5929,\u4f46\u5982\u679c\u8fd9\u4e2aaccess_token\u4e00\u76f4\u5728\u4f7f\u7528\u7684\u8bdd \u662f\u4e0d\u4f1a\u8fc7\u671f\u7684,\u53ef\u4ee5\u653e\u5fc3\u4f7f\u7528<\/p>\n<p>\u53e6\u4e00\u79cd\u65b9\u5f0f\u6211\u4e5f\u6d4b\u8bd5\u4e86\u901a\u8fc7refresh_token\u6765\u83b7\u53d6\uff0c<\/p>\n<p>\u53c2\u8003\u767e\u5ea6\u7684\u5b98\u65b9\u6587\u6863\uff1a<\/p>\n<p>\u83b7\u53d6access_token:<a title=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application\" href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application\">http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application<\/a><\/p>\n<p>\u901a\u8fc7refresh_token \u83b7\u53d6\u65b9\u5f0f\uff1a<a title=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token\" href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token\">http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token<\/a><\/p>\n<p>\u4e0b\u9762\u6211\u6765\u8bf4\u8bf4\u6b65\u9aa4\uff1a<\/p>\n<p>\u9996\u5148\u83b7\u53d6User Code\u548cDevice Code<\/p>\n<p>1\uff1acurl -k -L -d &#8220;client_id=&lt;api_key&gt;&amp;response_type=device_code&amp;scope=basic,netdisk&#8221; \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code\u201d<\/p>\n<p>\u83b7\u53d6 user_code \u548c device_code<\/p>\n<p>2\uff1a\u8bbf\u95ee <a title=\"https:\/\/openapi.baidu.com\/device\/\" href=\"https:\/\/openapi.baidu.com\/device\/\">https:\/\/openapi.baidu.com\/device\/<\/a>\u00a0 \u8f93\u5165user_code\u6388\u6743<\/p>\n<p>3\uff1a<\/p>\n<p>curl -k -L -d &#8220;grant_type=device_token&amp;code=&lt;device_code&gt;&amp;client_id=&lt;api_key&gt;&amp;client_secret=&lt;api_secret&gt;&#8221;\u00a0 \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d<\/p>\n<p>\u83b7\u53d6 refresh_token \u548c access_token<\/p>\n<p>\u8fd9\u91cc\u5b98\u7f51\u5199\u7684\u4e0d\u6e05\u695a\uff0chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token? grant_type=device_token&amp; code=Device Code&amp; client_id=YOUR_CLIENT_ID&amp; client_secret=YOUR_CLIENT_SECRET \u4e2d\u7684\u00a0\u00a0 Device Code \u5176\u5b9e\u5c31\u662f\u4e4b\u524d\u83b7\u53d6\u7684device_code<\/p>\n<p>4\uff1a\u901a\u8fc7refresh_token\u00a0 \u591a\u6b21\u83b7\u53d6 access_token<\/p>\n<p>curl -k -L -d &#8220;grant_type=refresh_token&amp;refresh_token=&lt;refresh_token&gt;&amp;client_id=&lt;api_key&gt;&amp;&amp;client_secret=&lt;api_secret&gt;&#8221;\u00a0\u00a0 \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d<br \/>\n\u8fd9\u91cc\u5c31\u662fscope \u4e0d\u9700\u8981\u8bbe\u7f6e\u3002 \u8fd9\u6837\u5c31\u53ef\u4ee5\u591a\u6b21\u83b7\u53d6access_token,10\u5e74\u6709\u6548\u671f\uff0c\u591f\u7528\u4e86\uff01<\/p>\n<p>\u7136\u540e\u6574\u7406\u4e2a\u811a\u672c\u5c31\u80fd\u65e0\u9650\u671f\u4f7f\u7528\u79c1\u6709\u4e91\u4e86\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u5b98\u7f51\u7684\u53c2\u8003\uff1a<\/p>\n<h5>\u8bbe\u5907\u4f7f\u7528\u767e\u5ea6OAuth2.0\u6388\u6743\u8c03\u7528\u5f00\u653eAPI\u6d41\u7a0b<\/h5>\n<p>1. \u83b7\u53d6User Code\u548cDevice Code \uff1a<\/p>\n<pre>  https:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code?\r\n    client_id=YOUR_CLIENT_ID&amp;\r\n    response_type=device_code&amp; \r\n    scope=basic,netdisk\r\n<\/pre>\n<p>2. \u6388\u6743\u670d\u52a1\u4f1a\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5176\u4e2d\u5305\u542b\u4e00\u4e2a\u4e8c\u7ef4\u7801\u56fe\u7247\u5730\u5740\u3002<\/p>\n<pre>{\r\n\t\"device_code\":\"a82hjs723h72h3a82hjs723h72h3vb\",\r\n\t\"user_code\":\"8sjiae3p\", \r\n\t\"verification_url\":\"https:\\\/\\\/openapi.baidu.com\\\/oauth\\\/2\\.0\\\/device\", \r\n\t\"qrcode_url\":\"http:\\\/\\\/openapi.baidu.com\\\/device\\\/qrcode\\\/6c6a8afee394f99e55eb25858\\\/2c885vjk\",\r\n\t\"expires_in\":1800, \r\n\t\"interval\":5\r\n}\r\n\r\n<\/pre>\n<p>3. \u5f15\u5bfc\u7528\u6237\u901a\u8fc7\u5176\u4ed6\u7ec8\u7aef\u53bb\u767e\u5ea6\u586b\u5199User Code\u5e76\u6388\u6743\u3002<\/p>\n<pre> \u7528\u6237\u53ef\u4f7f\u7528\u624b\u6301\u667a\u80fd\u7ec8\u7aef\u626b\u63cf\u4e0a\u4e00\u6b65\u4e2d\u7684\u4e8c\u7ef4\u7801\u56fe\u7247(qrcode_url\u5b57\u6bb5) \uff0c\u6216\u8005\u5728\u6d4f\u89c8\u5668\u4e2d\u76f4\u63a5\u8bbf\u95ee\u8bbe\u5907\u5c55\u73b0\u7684\u6388\u6743\u7f51\u5740https:\/\/openapi.baidu.com\/device\r\n<\/pre>\n<p>4.\u901a\u8fc7Device Code\u83b7\u53d6Access Token\u3002<\/p>\n<pre>https:\/\/openapi.baidu.com\/oauth\/2.0\/token?\r\n\tgrant_type=device_token&amp;\r\n\tcode=Device Code&amp;\r\n\tclient_id=YOUR_CLIENT_ID&amp;\r\n\tclient_secret=YOUR_CLIENT_SECRET\r\n<\/pre>\n<p>5. \u4f7f\u7528\u83b7\u5f97\u7684OAuth2.0 Access Token\u8c03\u7528API\u3002<\/p>\n<p>\u5bf9\u4e8e\u4ece\u767e\u5ea6\u5f00\u653e\u5e73\u53f0\u7533\u8bf7\u5230\u5141\u8bb8\u6c38\u4e45\u6388\u6743\u6743\u9650\u7684\u5e94\u7528\uff0c\u65e0\u8bba\u5176\u91c7\u7528Authorization Code\u3001Reource Owner Password Credentials\u3001Client Credentials\u4e2d\u7684\u54ea\u4e00\u4e2a\u53bb\u83b7\u53d6Access Token\uff0c\u90fd\u4f1a\u62ff\u5230\u4e00\u4e2a\u6709\u6548\u671f\u4e3a<b>1\u4e2a\u6708\u7684Access Token\u548c\u6709\u6548\u671f\u4e3a10\u5e74\u7684Refresh Token<\/b>\u3002\u5bf9\u4e8e\u8fd9\u4e9b\u5e94\u7528\uff0c\u53ea\u8981\u7528\u6237\u572810\u5e74\u5185\u767b\u9646\u5e94\u7528\uff0c\u5e94\u7528\u5c31\u53ef\u4ee5\u4f7f\u7528Refresh Token\u5237\u65b0\u4ee5\u83b7\u5f97\u65b0\u7684Access Token\uff08\u65b0\u7684Refresh Token\u4e5f\u4f1a\u540c\u65f6\u4e0b\u53d1\uff09\uff0c\u4ece\u800c\u8fbe\u5230\u53ea\u8981\u7528\u6237\u4e0d\u8fde\u7eed10\u5e74\u672a\u767b\u9646\u8fc7\u4f60\u7684\u5e94\u7528\u5c31\u4e0d\u9700\u8981\u91cd\u65b0\u767b\u9646\u7684\u76ee\u7684\u3002<\/p>\n<h4>\u83b7\u53d6Access Token<\/h4>\n<h5>\u8bf7\u6c42\u6570\u636e\u5305\u683c\u5f0f<\/h5>\n<p>\u4f7f\u7528Refresh Token\u5237\u65b0\u4ee5\u83b7\u5f97\u65b0\u7684Access Token\uff0c\u9700\u8981\u5e94\u7528\u5728\u5176\u670d\u52a1\u7aef\u53d1\u9001\u8bf7\u6c42\uff08\u63a8\u8350\u7528POST\u65b9\u6cd5\uff09\u5230\u767e\u5ea6OAuth2.0\u6388\u6743\u670d\u52a1\u7684\u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d\u5730\u5740\u4e0a\uff0c\u5e76\u5e26\u4e0a\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>grant_type\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u56fa\u5b9a\u4e3a\u201crefresh_token\u201d\uff1b<\/li>\n<li><b>refresh_token\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u7528\u4e8e\u5237\u65b0Access Token\u7528\u7684Refresh Token\uff1b<\/li>\n<li><b>client_id\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u5e94\u7528\u7684API Key\uff1b<\/li>\n<li><b>client_secret\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u5e94\u7528\u7684Secret Key;<\/li>\n<li><b>scope\uff1a<\/b>\u975e\u5fc5\u987b\u53c2\u6570\u3002\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6743\u9650\u5217\u8868\uff0c\u82e5\u4e0d\u4f20\u9012\u6b64\u53c2\u6570\uff0c\u4ee3\u8868\u8bf7\u6c42\u7684\u6570\u636e\u8bbf\u95ee\u64cd\u4f5c\u6743\u9650\u4e0e\u4e0a\u6b21\u83b7\u53d6Access Token\u65f6\u4e00\u81f4\u3002\u901a\u8fc7Refresh Token\u5237\u65b0Access Token\u65f6\u6240\u8981\u6c42\u7684scope\u6743\u9650\u8303\u56f4\u5fc5\u987b\u5c0f\u4e8e\u7b49\u4e8e\u4e0a\u6b21\u83b7\u53d6Access Token\u65f6\u6388\u4e88\u7684\u6743\u9650\u8303\u56f4\u3002\u5173\u4e8e\u6743\u9650\u7684\u5177\u4f53\u4fe1\u606f\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E6%9D%83%E9%99%90%E5%88%97%E8%A1%A8\">\u6743\u9650\u5217\u8868<\/a>\u201d\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>https:\/\/openapi.baidu.com\/oauth\/2.0\/token?\r\n    grant_type=refresh_token&amp;\r\n    refresh_token=2.e8b7dbabc28f731035f771b8d15063f23.5184000.1292922000-2346678-124328&amp;\r\n    client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&amp;\r\n    client_secret= 0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2&amp;\r\n    scope=email<\/pre>\n<h5>\u54cd\u5e94\u6570\u636e\u5305\u683c\u5f0f<\/h5>\n<p>\u82e5\u53c2\u6570\u65e0\u8bef\uff0c\u670d\u52a1\u5668\u5c06\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5305\u542b\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>access_token\uff1a<\/b>\u8981\u83b7\u53d6\u7684Access Token\uff1b<\/li>\n<li><b>expires_in\uff1a<\/b>Access Token\u7684\u6709\u6548\u671f\uff0c\u4ee5\u79d2\u4e3a\u5355\u4f4d\uff1b\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5\/%E7%99%BE%E5%BA%A6%E8%B4%A6%E5%8F%B7%E8%BF%9E%E6%8E%A5\/Access_Token%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E6%96%B9%E6%A1%88&amp;action=edit&amp;redlink=1\">Access Token\u751f\u547d\u5468\u671f\u65b9\u6848<\/a>\u201d<\/li>\n<li><b>refresh_token\uff1a<\/b>\u7528\u4e8e\u5237\u65b0Access Token \u7684 Refresh Token,\u5e76\u4e0d\u662f\u6240\u6709\u5e94\u7528\u90fd\u4f1a\u8fd4\u56de\u8be5\u53c2\u6570\uff1b\uff08<b>10\u5e74\u7684\u6709\u6548\u671f<\/b>\uff09<\/li>\n<li><b>scope\uff1a<\/b>Access Token\u6700\u7ec8\u7684\u8bbf\u95ee\u8303\u56f4\uff0c\u5373\u7528\u6237\u5b9e\u9645\u6388\u4e88\u7684\u6743\u9650\u5217\u8868\uff08\u7528\u6237\u5728\u6388\u6743\u9875\u9762\u65f6\uff0c\u6709\u53ef\u80fd\u4f1a\u53d6\u6d88\u6389\u67d0\u4e9b\u8bf7\u6c42\u7684\u6743\u9650\uff09\uff0c\u5173\u4e8e\u6743\u9650\u7684\u5177\u4f53\u4fe1\u606f\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E6%9D%83%E9%99%90%E5%88%97%E8%A1%A8\">\u6743\u9650\u5217\u8868<\/a>\u201d\u4e00\u8282\uff1b<\/li>\n<li><b>session_key\uff1a<\/b>\u57fa\u4e8ehttp\u8c03\u7528Open API\u65f6\u6240\u9700\u8981\u7684Session Key\uff0c\u5176\u6709\u6548\u671f\u4e0eAccess Token\u4e00\u81f4\uff1b<\/li>\n<li><b>session_secret\uff1a<\/b>\u57fa\u4e8ehttp\u8c03\u7528Open API\u65f6\u8ba1\u7b97\u53c2\u6570\u7b7e\u540d\u7528\u7684\u7b7e\u540d\u5bc6\u94a5\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>HTTP\/1.1 200 OK\r\nContent-Type: application\/json\r\nCache-Control: no-store\u00a0\u00a0 {\r\n    \"access_token\": \"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328\",\r\n    \"expires_in\": 86400,\r\n    \"refresh_token\": \"2.af3d55f8615fdfd9edb7c4b5ebdc3e32.604800.1293440400-2346678-124328\",\r\n    \"scope\": \"basic email\",\r\n    \"session_key\": \"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn\",\r\n    \"session_secret\": \"248APxvxjCZ0VEC43EYrvxqaK4oZExMB\",\r\n}<\/pre>\n<p>\u82e5\u8bf7\u6c42\u9519\u8bef\uff0c\u670d\u52a1\u5668\u5c06\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5305\u542b\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>error\uff1a<\/b>\u9519\u8bef\u7801\uff1b\u5173\u4e8e\u9519\u8bef\u7801\u7684\u8be6\u7ec6\u4fe1\u606f\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E7%99%BE%E5%BA%A6OAuth2.0%E9%94%99%E8%AF%AF%E5%93%8D%E5%BA%94\">\u767e\u5ea6OAuth2.0\u9519\u8bef\u54cd\u5e94<\/a>\u201d\u4e00\u8282\u3002<\/li>\n<li><b>error_description\uff1a<\/b>\u9519\u8bef\u63cf\u8ff0\u4fe1\u606f\uff0c\u7528\u6765\u5e2e\u52a9\u7406\u89e3\u548c\u89e3\u51b3\u53d1\u751f\u7684\u9519\u8bef\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>HTTP\/1.1 400 Bad Request\r\nContent-Type: application\/json\r\nCache-Control: no-store\u00a0\u00a0 {\r\n    \"error\": \"invalid_grant\",\r\n    \"error_description\": \"Invalid authorization code: ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn\"\r\n}<\/pre>\n<p>###########2015\u5e745\u6708\u4efd\u7684\u65f6\u5019\u53d1\u73b0\u8001\u662f\u62a5<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb1.png\" alt=\"image\" width=\"244\" height=\"23\" border=\"0\" \/><\/a><\/p>\n<p>\u540e\u6765\u53d1\u73b0\u4e00\u4e2a\u65b0\u7684\u65b9\u6cd5\u53ef\u4ee5\u4f7f\u7528 bpcs_uploader<\/p>\n<p>\u53c2\u8003\uff1a<a title=\"http:\/\/oott123.github.io\/bpcs_uploader\/\" href=\"http:\/\/oott123.github.io\/bpcs_uploader\/\">http:\/\/oott123.github.io\/bpcs_uploader\/<\/a><\/p>\n<p>\u7531\u4e8e\u5ba2\u6237\u7aef\u6740\u6bd2\u8f6f\u4ef6\u62a5\u6709\u6bd2\u6211\u5c31\u4e0d\u4e0a\u4f20\u4e86\u3002\uff08\u8f6f\u4ef6\u5e94\u8be5\u6ca1\u95ee\u9898\uff0c\u53ea\u662f\u56e0\u4e3a\u6709php shell\u00a0 \u6240\u4ee5360\u6740\u4e86 git\u7684url\u662f<a title=\"https:\/\/github.com\/oott123\/bpcs_uploader\" href=\"https:\/\/github.com\/oott123\/bpcs_uploader\">https:\/\/github.com\/oott123\/bpcs_uploader<\/a>\uff09<\/p>\n<p>\u6211\u6d4b\u8bd5\u53d1\u73b0\u4ed6\u662f\u65b0\u5efa\u4e00\u4e2a\u9879\u76ee\u3002<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb2.png\" alt=\"image\" width=\"244\" height=\"79\" border=\"0\" \/><\/a><\/p>\n<p>\u540e\u6765\u6211\u60f3\u539f\u6765\u7684\u8f6f\u4ef6\u633a\u597d\u7528\u7684\uff0c\u6211\u628ataken\u6362\u8fc7\u53bb\uff0c\u5e94\u8be5\u53ef\u4ee5\u4f7f\u7528\u4e86\u3002\u6d4b\u8bd5\u53d1\u73b0\u662f\u53ef\u4ee5\u7684\u4e86\u3002<\/p>\n<p>\u8b6c\u5982\u811a\u672c\uff1a\/root\/install\/oott123-bpcs_uploader-3a75324\/bpcs_uploader.php upload test316.txt blog\/test316.txt<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb3.png\" alt=\"image\" width=\"244\" height=\"17\" border=\"0\" \/><\/a><\/p>\n<p>\u539f\u56e0\u53ef\u80fd\u5c31\u662f\u6570\u636e\u8fc1\u79fb\uff0c\u5c06\u6211\u539f\u6765\u7684\u9879\u76ee\u7ed9\u5173\u6389\u4e86\u3002\u5982\u679c\u65b0\u5efa\u5e94\u8be5\u5c31\u53ef\u4ee5\u4e86\uff0c\u53ef\u60dc\u767e\u5ea6\u641e\u5f97\u5f88\u6df7\u4e71\uff0c\u4e5f\u4e0d\u77e5\u9053\u54ea\u91cc\u7ba1\u7406\u3002\u76ee\u524d\u8fd9\u79cd\u65b9\u5f0f\u8fd8\u6709\u6548\uff0c\u53ea\u662f\u628a\u8fdc\u7aef\u7684\u76ee\u5f55\u6362\u6389\u5373\u53ef\u3002\u6709\u65f6\u95f4\u7684\u8bdd \u6211\u518d\u627e\u627e\u539f\u6765\u7684\u9879\u76ee\u7ba1\u7406\u7684\u8def\u5f84 \u770b\u80fd\u4e0d\u80fd\u628a\u539f\u6765\u7684\u4e5f\u4fee\u597d\u3002<\/p>\n<p>\u540e\u6765\u53d1\u73b0\u91cd\u65b0\u83b7\u5f97token\u00a0 \u53c8\u597d\u4e86\uff01<\/p>\n<p>\u540e\u6765\u6d4b\u8bd5\u53d1\u73b0\uff0c\u6ca1\u6709\u4e00\u76f4\u6709\u6548\u7684access_token\uff0c\u4e0d\u8fc7\u901a\u8fc7bpcs_uploader \u83b7\u53d6\uff0c\u901a\u8fc7 .\/bpcs_uploader.php\u00a0 info \u83b7\u53d6\u65b0\u7684access_token\uff0c<\/p>\n<p>\u8b6c\u5982<\/p>\n<p>[root@localhost oott123-bpcs_uploader-3a75324]# cat _bpcs_files_\/config\/access_token<br \/>\n26.1e4089c7d97cee88f0b1a4bc7511d.2592000.1441178511.3557441906-561<\/p>\n<p>\u5373\u53ef\u3002<\/p>\n<p>\u9644\u4ef6\uff1a<a href=\"https:\/\/www.hmouse.cn\/?attachment_id=4795\" rel=\"attachment wp-att-4795\">oott123-bpcs_uploader-v0.1.0-beta-5-g3a75324<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>******\u540e\u9762\u4f1a\u6dfb\u52a0\u4e00\u79cd\u65b0\u7684\u65b9\u6cd5<\/p>\n<p>******5\u6708\u4efd\u767e\u5ea6\u4e91\u8fc1\u79fb\u9020\u6210\u4e86\u8001\u7684\u4e0d\u80fd\u7528\uff0c\u540e\u6765\u53c8\u6d4b\u8bd5\u4e00\u4e2a\u65b0\u7684\u65b9\u6cd5\u653e\u5728\u6700\u540e\uff01<\/p>\n<p>\u53c2\u8003url\uff1a<a title=\"http:\/\/www.haiyun.me\/archives\/859.html\" href=\"http:\/\/www.haiyun.me\/archives\/859.html\">http:\/\/www.haiyun.me\/archives\/859.html<\/a><\/p>\n<p>\u6700\u8fd1\u767e\u5ea6\u7f51\u76d8\u5c06\u7a7a\u95f4\u5347\u7ea7\u5230\u4e86\u6c38\u4e451TB\uff0c\u9274\u4e8e\u767e\u5ea6\u7684\u5b9e\u529b\u7528\u505a\u6570\u636e\u5907\u4efd\u7a7a\u95f4\u4e0d\u9519\uff0c\u4e0d\u8fc7\u767e\u5ea6\u7f51\u76d8\u6ca1\u6709Linux\u4e0b\u7684\u5ba2\u6237\u7aef\uff0c\u4e0a\u4f20\u7ba1\u7406\u6587\u4ef6\u9700\u901a\u8fc7\u767e\u5ea6\u5f00\u653e\u4e91\u5e73\u53f0\u8bbf\u95eePCS\u8d44\u6e90\u7684\u7cfb\u5217\u63a5\u53e3\u3002<br \/>\n1.\u9996\u5148\u52a0\u5165\u767e\u5ea6\u5f00\u53d1\u8005\uff1ahttp:\/\/developer.baidu.com\/dev#\/create<br \/>\n2.\u4efb\u610f\u521b\u5efa\u4e00\u4e2a\u5e94\u7528\u83b7\u53d6API Key\u5e76\u5f00\u901aPCS API\u6743\u9650\uff0c\u5f00\u653eAPI &gt; API\u7ba1\u7406 &gt; API\u5217\u8868 &gt; API\u670d\u52a1 &gt; PCS API &gt; \u5f00\u542f<br \/>\n3.\u901a\u8fc7\u521a\u521a\u65b0\u5efa\u5e94\u7528\u7684API Key\u83b7\u53d6device code\u548cuser_code<\/p>\n<pre>curl -k -L -d \"client_id=&lt;api_id&gt;&amp;response_type=device_code&amp;scope=basic,netdisk\" \\\r\n\"https:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code\"<\/pre>\n<p>4.\u5728\u6d4f\u89c8\u5668\u6253\u5f00https:\/\/openapi.baidu.com\/device\u8f93\u5165\u83b7\u53d6\u5230\u7684user_code\u5e76\u8fde\u63a5\uff0c\u7136\u540e\u901a\u8fc7device code\u83b7\u53d6refresh_token\u548caccess_token\uff1a<\/p>\n<pre>curl -k -L -d \"grant_type=device_token&amp;code=&lt;code&gt;&amp;client_id=&lt;api_id&gt;&amp;client_secret=&lt;api_secret&gt;\" \\\r\n\"https:\/\/openapi.baidu.com\/oauth\/2.0\/token\"<\/pre>\n<p>5.\u6b64\u65f6\u901a\u8fc7access_token\u5c31\u53ef\u5bf9\u7f51\u76d8\u6587\u4ef6\u8fdb\u884c\u64cd\u4f5c\u4e86\uff0c\u83b7\u53d6\u5230access_token\u7684\u6709\u6548\u671f\u4e3a30\u5929\uff0c\u8fc7\u671f\u540e\u901a\u8fc7refresh_token\u91cd\u65b0\u83b7\u53d6access_token<\/p>\n<pre>curl -k -L -d \"grant_type=refresh_token&amp;refresh_token=&lt;refresh_token&gt;&amp;client_id=\\\r\n&lt;api_id&gt;&amp;client_secret=&lt;api_secret&gt;\"<\/pre>\n<p>\u83b7\u53d6\u7f51\u76d8\u914d\u989d\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/quota?method=\\\r\ninfo&amp;access_token=&lt;access_token&gt;\"<\/pre>\n<p>\u4e0a\u4f20\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L -F \"file=@haiyun.me.tar.gz\" \"https:\/\/c.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=upload&amp;\\\r\naccess_token=&lt;access_token&gt;&amp;path=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u4e0b\u8f7d\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -O \"https:\/\/d.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=download&amp;access_token=&lt;access_token&gt;&amp;\\\r\npath=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u5220\u9664\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file?method=delete&amp;access_token=&lt;access_token&gt;\\\r\n&amp;path=\/apps\/pcsupload\/haiyun.me.tar.gz\"<\/pre>\n<p>\u590d\u5236\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/c.pcs.baidu.com\/rest\/2.0\/pcs\/file?method=copy&amp;access_token=&lt;access_token&gt;\\\r\n&amp;from=\/apps\/pcsupload\/haiyun.me.tar.gz&amp;to=\/apps\/pcsupload\/www.haiyun.me.tar.gz\"<\/pre>\n<p>\u5217\u51fa\u76ee\u5f55\u5185\u6587\u4ef6\uff1a<\/p>\n<pre>curl -k -L \"https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file?method=list&amp;access_token=&lt;access_token&gt;\\\r\n&amp;path=\/apps\/pcsupload\/\"<\/pre>\n<p>\u66f4\u591a\u64cd\u4f5c\uff1a<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/pcs\/rest\/file_data_apis_list\">http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/pcs\/rest\/file_data_apis_list<\/a><\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>1\uff1a\u5fc5\u987b\u8981\u5f00\u901aPCS API\uff1a<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image28.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image_thumb28.png\" alt=\"image\" width=\"244\" height=\"19\" border=\"0\" \/><\/a><\/p>\n<p>2\uff1a\u77e5\u9053\u4e0a\u4f20\u7684\u8def\u5f84<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image29.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2014\/03\/image_thumb29.png\" alt=\"image\" width=\"244\" height=\"147\" border=\"0\" \/><\/a><\/p>\n<p>3\uff1a\u5927\u6587\u4ef6\u4e0a\u4f20\u65b9\u6cd5\uff1a<\/p>\n<p>\u529f\u80fd<\/p>\n<p>\u4e0e\u5206\u7247\u6587\u4ef6\u4e0a\u4f20\u7684upload\u65b9\u6cd5\u914d\u5408\u4f7f\u7528\uff0c\u53ef\u5b9e\u73b0\u8d85\u5927\u6587\u4ef6\uff08&gt;2G\uff09\u4e0a\u4f20\uff0c\u540c\u65f6\u4e5f\u53ef\u7528\u4e8e\u65ad\u70b9\u7eed\u4f20\u7684\u573a\u666f\u3002<\/p>\n<p>HTTP\u8bf7\u6c42\u65b9\u5f0f<\/p>\n<p>POST<\/p>\n<p>URL<\/p>\n<pre> https:\/\/pcs.baidu.com\/rest\/2.0\/pcs\/file\r\n<\/pre>\n<p>\u8bf7\u6c42\u53c2\u6570<\/p>\n<p>\u53c2\u6570\u540d\u79f0<br \/>\n\u7c7b\u578b<br \/>\n\u662f\u5426\u5fc5\u9700<br \/>\n\u63cf\u8ff0<\/p>\n<p>method<br \/>\nstring<br \/>\n\u662f<br \/>\n\u56fa\u5b9a\u503c\uff0ccreatesuperfile\u3002<\/p>\n<p>\u8bf7\u6c42\u793a\u4f8b:<\/p>\n<pre style=\"height: 63px; width: 845px;\">POST https:\/\/pcs.baidu.com\/rest\/2.0\/file?method=createsuperfile&amp;path=%2fapps%2fyunform%2f6ddddd.JPG&amp;access_token=1.9fb09e8cce44c0d000e6787138924a26.86400.1331273905.2600617452-188383\r\n<\/pre>\n<p>\u5b98\u65b9\u7684\u4e00\u4e2a\u767e\u5ea6\u4e91\u76d8\u7684shell tool\u5de5\u5177\uff0c\u8c8c\u4f3c\u662f\u4e0d\u9519\uff0c\u4f46\u662f\u4e0d\u77e5\u9053\u4e3a\u5565\u7528\u4e0d\u4e86\uff0c\u6709\u5174\u8da3\u7684\u670b\u53cb\u53ef\u4ee5\u8bd5\u8bd5\u54c8\u3002<\/p>\n<p><code><a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/cplat\/stor\/sdk#Shell-Tool\">http:<\/a><\/code><code>\/\/developer.baidu.com\/wiki\/index.php?title=docs\/cplat\/stor\/sdk#Shell-Tool<\/code><\/p>\n<p>###########linux\u7684 c\u5ba2\u6237\u7aef\u5982\u4e0b<\/p>\n<p>\u53c2\u8003url\uff1a<a title=\"http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html\" href=\"http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html\">http:\/\/blog.hackroad.com\/operations-engineer\/linux_server\/7133.html<\/a><\/p>\n<p>\u5b89\u88c5\u6b65\u9aa4\uff1a<\/p>\n<p>yum -y\u00a0 upgrade libcurl libcurl-devel<\/p>\n<p>yum -y install gcc unzip make imake autoconf curl-devel<\/p>\n<p>cd \/root\/shell\/<\/p>\n<p>wget -c http:\/\/blog.cnlabs.net\/wp-content\/uploads\/2013\/08\/Baidu_PCS.zip<\/p>\n<p>\uff08\u6211\u7684\u7f51\u76d8\u4e5f\u6709)<\/p>\n<p>unzip -o Baidu_PCS.zip<\/p>\n<p>cd Baidu_PCS<\/p>\n<p># \u4fee\u6539\u4e0b baidu_pcs.c<br \/>\n\u5982\u56fe<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.hackroad.com\/wp-content\/uploads\/2013\/11\/ea8ffe3cf582d75cc3728fc731e6e82b.jpg\" alt=\"baidupcstools\" width=\"614\" height=\"353\" \/><br \/>\nID\u548cKEY \u4fee\u6539\u4e3a\u4f60\u7684\u5f00\u53d1\u4e2d\u5fc3\u5e94\u7528ID\u548c\u5bc6\u5319<\/p>\n<p>make #\u7f16\u8bd1\u4e0b \u4e0d\u7528make install \u5c31\u4e00\u4e2a\u6587\u4ef6<\/p>\n<p>\u4f1a\u751f\u6210\u4e00\u4e2a baidu_pcs\u7684\u6267\u884c\u6587\u4ef6<br \/>\n\u8fd9\u4e2a\u5c31\u662f\u5ba2\u6237\u7aef\u4e86<\/p>\n<p><strong>\u6388\u6743 \u83b7\u5f97 auth token<\/strong><br \/>\n=======================================<br \/>\ncd \/opt\/<br \/>\n.\/baidu_pcs info<br \/>\n\u4f1a\u63d0\u793a\u4e00\u4e2a\u6388\u6743\u94fe\u63a5 \u548c\u6388\u6743\u7801 COPY URL \u540e\u590d\u5236\u5230\u6d4f\u89c8\u5668\u6253\u5f00<br \/>\n\u4f7f\u7528\u4f60\u7684\u8d26\u6237\u548c\u5bc6\u7801\u767b\u5f55 \u7136\u540e\u586b\u5165\u6388\u6743\u7801\u00a0 \uff08\u73b0\u5728\u90fd\u662f2\u5fae\u7801\uff0c\u7528\u624b\u673a\u6388\u6743\u4e0b\u5373\u53ef\uff09<br \/>\n\u63d0\u793a\u6210\u529f \u5c31\u4ee3\u8868\u83b7\u5f97\u4e86auth token 1\u4e2a\u6708\u6709\u6548<\/p>\n<p><strong>Step4 \u914d\u7f6e\u548c\u4e0a\u4f20 \u4e0b\u8f7d\u6d4b\u8bd5 <\/strong><br \/>\n=======================================<br \/>\n\u73b0\u5728\u4f7f\u7528 .\/baidu_pcs info<br \/>\n\u53ef\u4ee5\u6253\u5370\u51fa\u4f60\u7684\u7a7a\u95f4\u914d\u989d\u4e86<br \/>\n\u5982\u56fe \u53ef\u4ee5\u663e\u793a\u4f7f\u7528\u4e86100\u591aG \u603b\u51711.12T<br \/>\n<a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb.png\" alt=\"image\" width=\"244\" height=\"41\" border=\"0\" \/><\/a><\/p>\n<p>\u4e0a\u4f20\u6d4b\u8bd5 \u628a\u6587\u4ef6\u4e0a\u4f20\u5230\u767e\u5ea6\u7f51\u76d8\u91cc<br \/>\n<a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb1.png\" alt=\"image\" width=\"244\" height=\"26\" border=\"0\" \/><\/a><\/p>\n<p>\u5728\u53bb\u7f51\u76d8\u770b\u770b \u6709\u6ca1\u6210\u529f\u4e0a\u4f20<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb2.png\" alt=\"image\" width=\"244\" height=\"77\" border=\"0\" \/><\/a><\/p>\n<p>PS \u5982\u679c\u51fa\u73b0ERROR: \u83b7\u53d6\u4fe1\u606f\u5931\u8d25111-Access token expired<\/p>\n<p>\u5982\u679c\u7528\u8fd9\u4e2a\u8f6f\u4ef6\u91cd\u65b0\u7f16\u8bd1\u8fd8\u662f\u62a5\u9519\uff0c\u540e\u6765\u4ece\u6e90\u7801\u53d1\u73b0\uff0c\u4ed6\u4f1a\u7f13\u5b58\u5df2\u5b58\u50a8\u7684token\uff0c\u9700\u8981\u5220\u9664\u4e4b\u540e\uff0c\u91cd\u65b0\u586b\u5199token\uff0c\u7136\u540e\u518d\u91cd\u65b0\u7f16\u8bd1\u5373\u53ef\u3002<\/p>\n<p>\u7f13\u5b58\u6587\u4ef6\u662f\uff1a.baidu_pcs_token<br \/>\n[root@blog ~]# ll \/root\/.baidu_pcs_token<br \/>\n-rw&#8212;&#8212;- 1 root root 73 10\u6708 11 15:12 \/root\/.baidu_pcs_token<\/p>\n<p>&nbsp;<\/p>\n<p>PS \u8fd8\u6709 \u6211\u8fd9\u91cc\u53ea\u6709linux-api\u7684\u76ee\u5f55\u3002 \u5176\u5b9e\u8fd9\u662f\u670d\u52a1\u5728\u5f00\u901aPCS\u65f6\u5fc5\u987b\u8981\u6307\u5b9a\u76ee\u5f55\u3002<\/p>\n<p>\u6211\u4e0b\u9762\u7ed9\u51fa\u4e86\u6f14\u793a\u3002<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb3.png\" alt=\"image\" width=\"244\" height=\"134\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/01\/image_thumb4.png\" alt=\"image\" width=\"244\" height=\"219\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u6240\u4ee5\u4e00\u4e2a\u670d\u52a1\u9879\u76ee\u4e0b\u9762\u53ea\u6709\u4e00\u4e2a\uff01<\/p>\n<p>########\u540e\u6765\u9047\u5230\u4e2a Access token \u4e00\u4e2a\u6708\u5c31\u8fc7\u671f\u7684\u95ee\u9898\uff0c\u6bcf\u6b21\u8981\u91cd\u65b0\u9a8c\u8bc1\uff0c\u540e\u6765\u7f51\u4e0a\u53d1\u73b0\u67092\u4e2d\u65b9\u5f0f\u53ef\u4ee5\u89e3\u51b3\uff0c\u4e00\u4e2a\u662f\u901a\u8fc7refresh_token\u6765\u4e00\u76f4\u83b7\u53d6\uff0c\u53e6\u4e00\u4e2a\u529e\u6cd5\u662f\u5feb\u901f\u83b7\u53d6\uff0c\u6587\u6863\u4e0a\u8bf4\u4e00\u76f4\u7528\u4e0d\u4f1a\u8fc7\u671f\uff0c\u5148\u8bd5\u8bd5\uff1a<\/p>\n<p>\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165\u5982\u4e0b\u5185\u5bb9 \u5176\u4e2d&#8221;{\u4f60\u7684API KEY}&#8221;\u66ff\u6362\u6210\u4f60\u7684API Key<\/p>\n<p><code>https:\/\/openapi.baidu.com \/oauth\/2.0\/authorize?response_type=token&amp;client_id={\u4f60\u7684API KEY}&amp; redirect_uri=oob&amp;scope=netdisk<\/code><\/p>\n<p>\u6253\u5f00\u4e4b\u540e\u4f1a\u8df3\u8f6c\u5230\u53e6\u5916\u4e00\u4e2a\u5730\u5740<\/p>\n<p><code>http:\/\/openapi.baidu.com\/oauth\/2.0\/login_success#expires_in=2592000&amp;access_token={access_token}&amp;session_secret={session_secret}&amp;session_key={session_key}&amp;scope=basic+netdisk<\/code><\/p>\n<p>\u5176\u4e2daccess_token\u540e\u9762\u4e00\u6bb5\u662f\u6211\u4eec\u9700\u8981\u7684,\u4fdd\u5b58\u4e0b\u6765\u5373\u53ef<\/p>\n<p>\u4f7f\u7528\u671f\u9650\u662f30\u5929,\u4f46\u5982\u679c\u8fd9\u4e2aaccess_token\u4e00\u76f4\u5728\u4f7f\u7528\u7684\u8bdd \u662f\u4e0d\u4f1a\u8fc7\u671f\u7684,\u53ef\u4ee5\u653e\u5fc3\u4f7f\u7528<\/p>\n<p>\u53e6\u4e00\u79cd\u65b9\u5f0f\u6211\u4e5f\u6d4b\u8bd5\u4e86\u901a\u8fc7refresh_token\u6765\u83b7\u53d6\uff0c<\/p>\n<p>\u53c2\u8003\u767e\u5ea6\u7684\u5b98\u65b9\u6587\u6863\uff1a<\/p>\n<p>\u83b7\u53d6access_token:<a title=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application\" href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application\">http:\/\/developer.baidu.com\/wiki\/index.php?title=docs\/oauth\/application<\/a><\/p>\n<p>\u901a\u8fc7refresh_token \u83b7\u53d6\u65b9\u5f0f\uff1a<a title=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token\" href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token\">http:\/\/developer.baidu.com\/wiki\/index.php?title=%E4%BD%BF%E7%94%A8Refresh_Token%E8%8E%B7%E5%8F%96Access_Token<\/a><\/p>\n<p>\u4e0b\u9762\u6211\u6765\u8bf4\u8bf4\u6b65\u9aa4\uff1a<\/p>\n<p>\u9996\u5148\u83b7\u53d6User Code\u548cDevice Code<\/p>\n<p>1\uff1acurl -k -L -d &#8220;client_id=&lt;api_key&gt;&amp;response_type=device_code&amp;scope=basic,netdisk&#8221; \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code\u201d<\/p>\n<p>\u83b7\u53d6 user_code \u548c device_code<\/p>\n<p>2\uff1a\u8bbf\u95ee <a title=\"https:\/\/openapi.baidu.com\/device\/\" href=\"https:\/\/openapi.baidu.com\/device\/\">https:\/\/openapi.baidu.com\/device\/<\/a>\u00a0 \u8f93\u5165user_code\u6388\u6743<\/p>\n<p>3\uff1a<\/p>\n<p>curl -k -L -d &#8220;grant_type=device_token&amp;code=&lt;device_code&gt;&amp;client_id=&lt;api_key&gt;&amp;client_secret=&lt;api_secret&gt;&#8221;\u00a0 \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d<\/p>\n<p>\u83b7\u53d6 refresh_token \u548c access_token<\/p>\n<p>\u8fd9\u91cc\u5b98\u7f51\u5199\u7684\u4e0d\u6e05\u695a\uff0chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token? grant_type=device_token&amp; code=Device Code&amp; client_id=YOUR_CLIENT_ID&amp; client_secret=YOUR_CLIENT_SECRET \u4e2d\u7684\u00a0\u00a0 Device Code \u5176\u5b9e\u5c31\u662f\u4e4b\u524d\u83b7\u53d6\u7684device_code<\/p>\n<p>4\uff1a\u901a\u8fc7refresh_token\u00a0 \u591a\u6b21\u83b7\u53d6 access_token<\/p>\n<p>curl -k -L -d &#8220;grant_type=refresh_token&amp;refresh_token=&lt;refresh_token&gt;&amp;client_id=&lt;api_key&gt;&amp;&amp;client_secret=&lt;api_secret&gt;&#8221;\u00a0\u00a0 \u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d<br \/>\n\u8fd9\u91cc\u5c31\u662fscope \u4e0d\u9700\u8981\u8bbe\u7f6e\u3002 \u8fd9\u6837\u5c31\u53ef\u4ee5\u591a\u6b21\u83b7\u53d6access_token,10\u5e74\u6709\u6548\u671f\uff0c\u591f\u7528\u4e86\uff01<\/p>\n<p>\u7136\u540e\u6574\u7406\u4e2a\u811a\u672c\u5c31\u80fd\u65e0\u9650\u671f\u4f7f\u7528\u79c1\u6709\u4e91\u4e86\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u5b98\u7f51\u7684\u53c2\u8003\uff1a<\/p>\n<h5>\u8bbe\u5907\u4f7f\u7528\u767e\u5ea6OAuth2.0\u6388\u6743\u8c03\u7528\u5f00\u653eAPI\u6d41\u7a0b<\/h5>\n<p>1. \u83b7\u53d6User Code\u548cDevice Code \uff1a<\/p>\n<pre>  https:\/\/openapi.baidu.com\/oauth\/2.0\/device\/code?\r\n    client_id=YOUR_CLIENT_ID&amp;\r\n    response_type=device_code&amp; \r\n    scope=basic,netdisk\r\n<\/pre>\n<p>2. \u6388\u6743\u670d\u52a1\u4f1a\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5176\u4e2d\u5305\u542b\u4e00\u4e2a\u4e8c\u7ef4\u7801\u56fe\u7247\u5730\u5740\u3002<\/p>\n<pre>{\r\n\t\"device_code\":\"a82hjs723h72h3a82hjs723h72h3vb\",\r\n\t\"user_code\":\"8sjiae3p\", \r\n\t\"verification_url\":\"https:\\\/\\\/openapi.baidu.com\\\/oauth\\\/2\\.0\\\/device\", \r\n\t\"qrcode_url\":\"http:\\\/\\\/openapi.baidu.com\\\/device\\\/qrcode\\\/6c6a8afee394f99e55eb25858\\\/2c885vjk\",\r\n\t\"expires_in\":1800, \r\n\t\"interval\":5\r\n}\r\n\r\n<\/pre>\n<p>3. \u5f15\u5bfc\u7528\u6237\u901a\u8fc7\u5176\u4ed6\u7ec8\u7aef\u53bb\u767e\u5ea6\u586b\u5199User Code\u5e76\u6388\u6743\u3002<\/p>\n<pre> \u7528\u6237\u53ef\u4f7f\u7528\u624b\u6301\u667a\u80fd\u7ec8\u7aef\u626b\u63cf\u4e0a\u4e00\u6b65\u4e2d\u7684\u4e8c\u7ef4\u7801\u56fe\u7247(qrcode_url\u5b57\u6bb5) \uff0c\u6216\u8005\u5728\u6d4f\u89c8\u5668\u4e2d\u76f4\u63a5\u8bbf\u95ee\u8bbe\u5907\u5c55\u73b0\u7684\u6388\u6743\u7f51\u5740https:\/\/openapi.baidu.com\/device\r\n<\/pre>\n<p>4.\u901a\u8fc7Device Code\u83b7\u53d6Access Token\u3002<\/p>\n<pre>https:\/\/openapi.baidu.com\/oauth\/2.0\/token?\r\n\tgrant_type=device_token&amp;\r\n\tcode=Device Code&amp;\r\n\tclient_id=YOUR_CLIENT_ID&amp;\r\n\tclient_secret=YOUR_CLIENT_SECRET\r\n<\/pre>\n<p>5. \u4f7f\u7528\u83b7\u5f97\u7684OAuth2.0 Access Token\u8c03\u7528API\u3002<\/p>\n<p>\u5bf9\u4e8e\u4ece\u767e\u5ea6\u5f00\u653e\u5e73\u53f0\u7533\u8bf7\u5230\u5141\u8bb8\u6c38\u4e45\u6388\u6743\u6743\u9650\u7684\u5e94\u7528\uff0c\u65e0\u8bba\u5176\u91c7\u7528Authorization Code\u3001Reource Owner Password Credentials\u3001Client Credentials\u4e2d\u7684\u54ea\u4e00\u4e2a\u53bb\u83b7\u53d6Access Token\uff0c\u90fd\u4f1a\u62ff\u5230\u4e00\u4e2a\u6709\u6548\u671f\u4e3a<b>1\u4e2a\u6708\u7684Access Token\u548c\u6709\u6548\u671f\u4e3a10\u5e74\u7684Refresh Token<\/b>\u3002\u5bf9\u4e8e\u8fd9\u4e9b\u5e94\u7528\uff0c\u53ea\u8981\u7528\u6237\u572810\u5e74\u5185\u767b\u9646\u5e94\u7528\uff0c\u5e94\u7528\u5c31\u53ef\u4ee5\u4f7f\u7528Refresh Token\u5237\u65b0\u4ee5\u83b7\u5f97\u65b0\u7684Access Token\uff08\u65b0\u7684Refresh Token\u4e5f\u4f1a\u540c\u65f6\u4e0b\u53d1\uff09\uff0c\u4ece\u800c\u8fbe\u5230\u53ea\u8981\u7528\u6237\u4e0d\u8fde\u7eed10\u5e74\u672a\u767b\u9646\u8fc7\u4f60\u7684\u5e94\u7528\u5c31\u4e0d\u9700\u8981\u91cd\u65b0\u767b\u9646\u7684\u76ee\u7684\u3002<\/p>\n<h4>\u83b7\u53d6Access Token<\/h4>\n<h5>\u8bf7\u6c42\u6570\u636e\u5305\u683c\u5f0f<\/h5>\n<p>\u4f7f\u7528Refresh Token\u5237\u65b0\u4ee5\u83b7\u5f97\u65b0\u7684Access Token\uff0c\u9700\u8981\u5e94\u7528\u5728\u5176\u670d\u52a1\u7aef\u53d1\u9001\u8bf7\u6c42\uff08\u63a8\u8350\u7528POST\u65b9\u6cd5\uff09\u5230\u767e\u5ea6OAuth2.0\u6388\u6743\u670d\u52a1\u7684\u201chttps:\/\/openapi.baidu.com\/oauth\/2.0\/token\u201d\u5730\u5740\u4e0a\uff0c\u5e76\u5e26\u4e0a\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>grant_type\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u56fa\u5b9a\u4e3a\u201crefresh_token\u201d\uff1b<\/li>\n<li><b>refresh_token\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u7528\u4e8e\u5237\u65b0Access Token\u7528\u7684Refresh Token\uff1b<\/li>\n<li><b>client_id\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u5e94\u7528\u7684API Key\uff1b<\/li>\n<li><b>client_secret\uff1a<\/b>\u5fc5\u987b\u53c2\u6570\uff0c\u5e94\u7528\u7684Secret Key;<\/li>\n<li><b>scope\uff1a<\/b>\u975e\u5fc5\u987b\u53c2\u6570\u3002\u4ee5\u7a7a\u683c\u5206\u9694\u7684\u6743\u9650\u5217\u8868\uff0c\u82e5\u4e0d\u4f20\u9012\u6b64\u53c2\u6570\uff0c\u4ee3\u8868\u8bf7\u6c42\u7684\u6570\u636e\u8bbf\u95ee\u64cd\u4f5c\u6743\u9650\u4e0e\u4e0a\u6b21\u83b7\u53d6Access Token\u65f6\u4e00\u81f4\u3002\u901a\u8fc7Refresh Token\u5237\u65b0Access Token\u65f6\u6240\u8981\u6c42\u7684scope\u6743\u9650\u8303\u56f4\u5fc5\u987b\u5c0f\u4e8e\u7b49\u4e8e\u4e0a\u6b21\u83b7\u53d6Access Token\u65f6\u6388\u4e88\u7684\u6743\u9650\u8303\u56f4\u3002\u5173\u4e8e\u6743\u9650\u7684\u5177\u4f53\u4fe1\u606f\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E6%9D%83%E9%99%90%E5%88%97%E8%A1%A8\">\u6743\u9650\u5217\u8868<\/a>\u201d\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>https:\/\/openapi.baidu.com\/oauth\/2.0\/token?\r\n    grant_type=refresh_token&amp;\r\n    refresh_token=2.e8b7dbabc28f731035f771b8d15063f23.5184000.1292922000-2346678-124328&amp;\r\n    client_id=Va5yQRHlA4Fq4eR3LT0vuXV4&amp;\r\n    client_secret= 0rDSjzQ20XUj5itV7WRtznPQSzr5pVw2&amp;\r\n    scope=email<\/pre>\n<h5>\u54cd\u5e94\u6570\u636e\u5305\u683c\u5f0f<\/h5>\n<p>\u82e5\u53c2\u6570\u65e0\u8bef\uff0c\u670d\u52a1\u5668\u5c06\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5305\u542b\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>access_token\uff1a<\/b>\u8981\u83b7\u53d6\u7684Access Token\uff1b<\/li>\n<li><b>expires_in\uff1a<\/b>Access Token\u7684\u6709\u6548\u671f\uff0c\u4ee5\u79d2\u4e3a\u5355\u4f4d\uff1b\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5\/%E7%99%BE%E5%BA%A6%E8%B4%A6%E5%8F%B7%E8%BF%9E%E6%8E%A5\/Access_Token%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E6%96%B9%E6%A1%88&amp;action=edit&amp;redlink=1\">Access Token\u751f\u547d\u5468\u671f\u65b9\u6848<\/a>\u201d<\/li>\n<li><b>refresh_token\uff1a<\/b>\u7528\u4e8e\u5237\u65b0Access Token \u7684 Refresh Token,\u5e76\u4e0d\u662f\u6240\u6709\u5e94\u7528\u90fd\u4f1a\u8fd4\u56de\u8be5\u53c2\u6570\uff1b\uff08<b>10\u5e74\u7684\u6709\u6548\u671f<\/b>\uff09<\/li>\n<li><b>scope\uff1a<\/b>Access Token\u6700\u7ec8\u7684\u8bbf\u95ee\u8303\u56f4\uff0c\u5373\u7528\u6237\u5b9e\u9645\u6388\u4e88\u7684\u6743\u9650\u5217\u8868\uff08\u7528\u6237\u5728\u6388\u6743\u9875\u9762\u65f6\uff0c\u6709\u53ef\u80fd\u4f1a\u53d6\u6d88\u6389\u67d0\u4e9b\u8bf7\u6c42\u7684\u6743\u9650\uff09\uff0c\u5173\u4e8e\u6743\u9650\u7684\u5177\u4f53\u4fe1\u606f\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E6%9D%83%E9%99%90%E5%88%97%E8%A1%A8\">\u6743\u9650\u5217\u8868<\/a>\u201d\u4e00\u8282\uff1b<\/li>\n<li><b>session_key\uff1a<\/b>\u57fa\u4e8ehttp\u8c03\u7528Open API\u65f6\u6240\u9700\u8981\u7684Session Key\uff0c\u5176\u6709\u6548\u671f\u4e0eAccess Token\u4e00\u81f4\uff1b<\/li>\n<li><b>session_secret\uff1a<\/b>\u57fa\u4e8ehttp\u8c03\u7528Open API\u65f6\u8ba1\u7b97\u53c2\u6570\u7b7e\u540d\u7528\u7684\u7b7e\u540d\u5bc6\u94a5\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>HTTP\/1.1 200 OK\r\nContent-Type: application\/json\r\nCache-Control: no-store\u00a0\u00a0 {\r\n    \"access_token\": \"1.a6b7dbd428f731035f771b8d15063f61.86400.1292922000-2346678-124328\",\r\n    \"expires_in\": 86400,\r\n    \"refresh_token\": \"2.af3d55f8615fdfd9edb7c4b5ebdc3e32.604800.1293440400-2346678-124328\",\r\n    \"scope\": \"basic email\",\r\n    \"session_key\": \"ANXxSNjwQDugf8615OnqeikRMu2bKaXCdlLxn\",\r\n    \"session_secret\": \"248APxvxjCZ0VEC43EYrvxqaK4oZExMB\",\r\n}<\/pre>\n<p>\u82e5\u8bf7\u6c42\u9519\u8bef\uff0c\u670d\u52a1\u5668\u5c06\u8fd4\u56de\u4e00\u6bb5JSON\u6587\u672c\uff0c\u5305\u542b\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<dl>\n<dd>\n<ul>\n<li><b>error\uff1a<\/b>\u9519\u8bef\u7801\uff1b\u5173\u4e8e\u9519\u8bef\u7801\u7684\u8be6\u7ec6\u4fe1\u606f\u8bf7\u53c2\u8003\u201c<a href=\"http:\/\/developer.baidu.com\/wiki\/index.php?title=%E7%99%BE%E5%BA%A6OAuth2.0%E9%94%99%E8%AF%AF%E5%93%8D%E5%BA%94\">\u767e\u5ea6OAuth2.0\u9519\u8bef\u54cd\u5e94<\/a>\u201d\u4e00\u8282\u3002<\/li>\n<li><b>error_description\uff1a<\/b>\u9519\u8bef\u63cf\u8ff0\u4fe1\u606f\uff0c\u7528\u6765\u5e2e\u52a9\u7406\u89e3\u548c\u89e3\u51b3\u53d1\u751f\u7684\u9519\u8bef\u3002<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p><b>\u4f8b\u5982\uff1a<\/b><\/p>\n<pre>HTTP\/1.1 400 Bad Request\r\nContent-Type: application\/json\r\nCache-Control: no-store\u00a0\u00a0 {\r\n    \"error\": \"invalid_grant\",\r\n    \"error_description\": \"Invalid authorization code: ANXxSNjwQDugOnqeikRMu2bKaXCdlLxn\"\r\n}<\/pre>\n<p>###########2015\u5e745\u6708\u4efd\u7684\u65f6\u5019\u53d1\u73b0\u8001\u662f\u62a5<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb1.png\" alt=\"image\" width=\"244\" height=\"23\" border=\"0\" \/><\/a><\/p>\n<p>\u540e\u6765\u53d1\u73b0\u4e00\u4e2a\u65b0\u7684\u65b9\u6cd5\u53ef\u4ee5\u4f7f\u7528 bpcs_uploader<\/p>\n<p>\u53c2\u8003\uff1a<a title=\"http:\/\/oott123.github.io\/bpcs_uploader\/\" href=\"http:\/\/oott123.github.io\/bpcs_uploader\/\">http:\/\/oott123.github.io\/bpcs_uploader\/<\/a><\/p>\n<p>\u7531\u4e8e\u5ba2\u6237\u7aef\u6740\u6bd2\u8f6f\u4ef6\u62a5\u6709\u6bd2\u6211\u5c31\u4e0d\u4e0a\u4f20\u4e86\u3002\uff08\u8f6f\u4ef6\u5e94\u8be5\u6ca1\u95ee\u9898\uff0c\u53ea\u662f\u56e0\u4e3a\u6709php shell\u00a0 \u6240\u4ee5360\u6740\u4e86 git\u7684url\u662f<a title=\"https:\/\/github.com\/oott123\/bpcs_uploader\" href=\"https:\/\/github.com\/oott123\/bpcs_uploader\">https:\/\/github.com\/oott123\/bpcs_uploader<\/a>\uff09<\/p>\n<p>\u6211\u6d4b\u8bd5\u53d1\u73b0\u4ed6\u662f\u65b0\u5efa\u4e00\u4e2a\u9879\u76ee\u3002<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb2.png\" alt=\"image\" width=\"244\" height=\"79\" border=\"0\" \/><\/a><\/p>\n<p>\u540e\u6765\u6211\u60f3\u539f\u6765\u7684\u8f6f\u4ef6\u633a\u597d\u7528\u7684\uff0c\u6211\u628ataken\u6362\u8fc7\u53bb\uff0c\u5e94\u8be5\u53ef\u4ee5\u4f7f\u7528\u4e86\u3002\u6d4b\u8bd5\u53d1\u73b0\u662f\u53ef\u4ee5\u7684\u4e86\u3002<\/p>\n<p>\u8b6c\u5982\u811a\u672c\uff1a\/root\/install\/oott123-bpcs_uploader-3a75324\/bpcs_uploader.php upload test316.txt blog\/test316.txt<\/p>\n<p><a href=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.hmouse.cn\/wp-content\/uploads\/2015\/05\/image_thumb3.png\" alt=\"image\" width=\"244\" height=\"17\" border=\"0\" \/><\/a><\/p>\n<p>\u539f\u56e0\u53ef\u80fd\u5c31\u662f\u6570\u636e\u8fc1\u79fb\uff0c\u5c06\u6211\u539f\u6765\u7684\u9879\u76ee\u7ed9\u5173\u6389\u4e86\u3002\u5982\u679c\u65b0\u5efa\u5e94\u8be5\u5c31\u53ef\u4ee5\u4e86\uff0c\u53ef\u60dc\u767e\u5ea6\u641e\u5f97\u5f88\u6df7\u4e71\uff0c\u4e5f\u4e0d\u77e5\u9053\u54ea\u91cc\u7ba1\u7406\u3002\u76ee\u524d\u8fd9\u79cd\u65b9\u5f0f\u8fd8\u6709\u6548\uff0c\u53ea\u662f\u628a\u8fdc\u7aef\u7684\u76ee\u5f55\u6362\u6389\u5373\u53ef\u3002\u6709\u65f6\u95f4\u7684\u8bdd \u6211\u518d\u627e\u627e\u539f\u6765\u7684\u9879\u76ee\u7ba1\u7406\u7684\u8def\u5f84 \u770b\u80fd\u4e0d\u80fd\u628a\u539f\u6765\u7684\u4e5f\u4fee\u597d\u3002<\/p>\n<p>\u540e\u6765\u53d1\u73b0\u91cd\u65b0\u83b7\u5f97token\u00a0 \u53c8\u597d\u4e86\uff01<\/p>\n<p>\u540e\u6765\u6d4b\u8bd5\u53d1\u73b0\uff0c\u6ca1\u6709\u4e00\u76f4\u6709\u6548\u7684access_token\uff0c\u4e0d\u8fc7\u901a\u8fc7bpcs_uploader \u83b7\u53d6\uff0c\u901a\u8fc7 .\/bpcs_uploader.php\u00a0 info \u83b7\u53d6\u65b0\u7684access_token\uff0c<\/p>\n<p>\u8b6c\u5982<\/p>\n<p>[root@localhost oott123-bpcs_uploader-3a75324]# cat _bpcs_files_\/config\/access_token<br \/>\n26.1e4089c7d97cee88f0b1a4bc7511d.2592000.1441178511.3557441906-561<\/p>\n<p>\u5373\u53ef\u3002<\/p>\n<p>\u9644\u4ef6\uff1a<a href=\"https:\/\/www.hmouse.cn\/?attachment_id=4795\" rel=\"attachment wp-att-4795\">oott123-bpcs_uploader-v0.1.0-beta-5-g3a75324<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[23,48,22],"class_list":["post-3208","post","type-post","status-publish","format-standard","hentry","category-5","tag-linux-api","tag-linux","tag-22","category-5-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/3208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3208"}],"version-history":[{"count":15,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/3208\/revisions"}],"predecessor-version":[{"id":4796,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/3208\/revisions\/4796"}],"wp:attachment":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}