php pcs.dll,百度PCS 入门使用示例

php pcs.dll,百度PCS 入门使用示例百度PCS入门使用示例PCSAPI目前主要分为文件API和结构化数据API。下面将会提供几个示例帮助您理解如何使用RESTAPI和SDK。获取AccessToken示例在您进行PCSAPI调用之前,首先按照ImplicitGrant方法获取AccessToken。1.请您将以下HTTP请求直接粘贴到浏览器地址栏内,并按下回车键。https://openapi.baidu.com/o…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

百度PCS 入门使用示例

PCS API目前主要分为文件API和结构化数据API。

下面将会提供几个示例帮助您理解如何使用REST API和SDK。

获取Access Token示例

在您进行PCS API调用之前,首先按照Implicit Grant方法获取Access Token。

1. 请您将以下HTTP请求直接粘贴到浏览器地址栏内,并按下回车键。

https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk

说明:

“client_id=L6g70tBRRIXLsY0Z3HwKqlRE”为百度为开发者提供的PCS Demo API key,供您快速学习时使用。实际开发中,应该使用您创建的应用所对应的API Key,并保证已经通过了PCS API使用授权。

2. 执行后,弹出百度登录页面,登录后弹出以下授权页面:

2013071915205322560.jpg

3. 请选择”百度网盘访问权限”,并单击授权,否则无法获取Access Token。

4. 授权后,将跳转到以下百度OAuth2.0页面:

5. 请将此页面地址栏的内容拷贝出来,您将看到:

http://openapi.baidu.com/oauth/2.0/login_success#expires_in=2592000&access_token=3.811a254908d094012df764a38882a179.2592000.1348661720.2233553628-238347&session_secret=9deaa587f9cd177f02079506dc4391ab&session_key=94rrnl7qf2cYVnSZ0KfARwLS%2BIMuQn%2FbZKgbYBEnwDZv1O%2Bzp7fJxo8cN%2BrrhLAQsJy8FeBD2SP6Ioux%2B2TW6IgR8JFIGsU%3D&scope=basic+netdisk

说明:

“access_token=3.811a254908d094012df764a38882a179.2592000.1348661720.2233553628-238347”就是您本次获取到的Access Token值。在具体操作过程中,您将获得一个与示例中完全不同的,与您的账号绑定的Access Token值,请您保存下来,做为后续操作的输入。

使用REST API

以获取空间信息接口(quota)为例说明如何使用PCS REST API:

1. 请您将以下HTTP请求直接粘贴到浏览器地址栏内,并按下回车键。

https://pcs.baidu.com/rest/2.0/pcs/quota?method=info&access_token=YOUR_ACCESS_TOKEN

其中,access_token=YOUR_ACCESS_TOKEN就是您刚刚在上一步骤中获取到的Access Token值。

2. 当您看到页面中出现以下格式的内容时,意味着您已经成功地使用了一次PCS REST API。

2013071915205330169.jpg

注意:

quota、used、request_id会根据具体的执行环境有所变化。

使用PHP SDK

以获得空间信息接口(quota)为例来介绍如何使用PHP SDK。

1. 尝试以下示例之前,您首先需要下载PCS PHP Demo。

2. 请将YOUR_ACCESS_TOKEN换成您刚刚在上述步骤中获取到的Access Token值。

require_once(‘pcs.class.php’); //引入pcs.class.php源文件

//设置access token

$auth = array(‘access_token’ => ‘YOUR_ACCESS_TOKEN’);

$pcs = new BaiduPCS($auth); //初始化BaiduPCS类

$pcs->set_ssl(true); //设置HTTPS访问方式

echo “n”;

//调用quota接口获取用户空间信息

if (!($data = $pcs->info_quota())) {

//错误情况

var_dump($pcs->get_error_message());

return;

} else {

//打印获取的quota信息

echo json_encode($data);

}

echo “n”;

?>

3. 运行结果:

2013071915205331646.jpg

使用Android SDK

以获得空间信息接口(quota)为例来介绍如何使用Android SDK。

1. 配置好Android开发环境并下载Android SDK。

了解配置Android开发环境的详细信息,请参考http://developer.android.com/index.html。

请您下载Android SDK:Baidu-PCS-SDK-Android-L2-2.1.0.zip。

2. 从下载包中的Baidu-PCS-SDK-Android-L2-2.1.0.ziplib目录中得到所有的Jar包:

Baidu-OAuth-SDK-Android-G-2.0.0.jar

Baidu-PCS-SDK-Android-L2-2.1.0.jar

httpmime-4.2.jar

3. 在Eclipse创建一个Android应用程序。

4. 修改AndroidManifest.xml,增加以下权限:

5. 修改layout/main.xml,向其中添加button widget:

<

android:id=”@+id/login”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_alignParentTop=”true”

android:layout_centerHorizontal=”true”

android:layout_marginTop=”62dp”

android:text=”Login” />

android:id=”@+id/getquota”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_above=”@+id/tokenView”

android:layout_centerHorizontal=”true”

android:layout_marginBottom=”34dp”

android:text=”Get Quota” />

6. 进入项目libs目录,将下载的包中的Demo/libs中的所有jar包拷贝到此libs目录,然后并将他们加入Android程序的Build Path中。

2013071915205430335.jpg

7. 修改工程中默认的MainActivity.java。

1) Import 库

importcom.baidu.oauth.BaiduOAuth;

importcom.baidu.oauth.BaiduOAuth.BaiduOAuthResponse;

importcom.baidu.oauth.BaiduOAuth.OAuthListener;

importcom.baidu.pcs.BaiduPCSActionInfo;

importcom.baidu.pcs.BaiduPCSClient;

importandroid.widget.Button;

importandroid.widget.Toast;

2) 设定用户API Key。

private final String mbApiKey = “L6g70tBRRIXLsY0Z3HwKqlRE”;//请替换申请客户端应用时获取的Api Key串

private final String mbRootPath = “/apps/pcstest_oauth”; //用户测试的根目录

3) 添加按钮响应事件。

private Button login;

private Button getQuota;

private String mbOauth = null;

private Handler mbUiThreadHandler = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mbUiThreadHandler = new Handler();

login = (Button) this.findViewById(R.id.login);

getQuota = (Button) this.findViewById(R.id.getquota);

login.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

BaiduOAuthoauthClient = new BaiduOAuth();

oauthClient.startOAuth(MainActivity.this, mbApiKey, new String[]{“basic”, “netdisk”}, new BaiduOAuth.OAuthListener() {

@Override

public void onException(String msg) {

Toast.makeText(getApplicationContext(), “Login failed ” + msg, Toast.LENGTH_SHORT).show();

}

@Override

public void onComplete(BaiduOAuthResponse response) {

if(null != response){

mbOauth = response.getAccessToken();

Toast.makeText(getApplicationContext(), “Token: ” + mbOauth + ” User name:” + response.getUserName(), Toast.LENGTH_SHORT).show();

}

}

@Override

public void onCancel() {

Toast.makeText(getApplicationContext(), “Login cancelled”, Toast.LENGTH_SHORT).show();

}

});

}

});

getQuota.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v) {

test_getQuota();

}

});

}

private void test_getQuota(){

if(null != mbOauth){

Thread workThread = new Thread(new Runnable(){

public void run() {

BaiduPCSClientapi = new BaiduPCSClient();

api.setAccessToken(mbOauth);

finalBaiduPCSActionInfo.PCSQuotaResponse info = api.quota();

mbUiThreadHandler.post(new Runnable(){

public void run(){

if(null != info){

if(0 == info.status.errorCode){

Toast.makeText(getApplicationContext(), “Quota :” + info.total + ” used: ” + info.used, Toast.LENGTH_SHORT).show();

}

else{

Toast.makeText(getApplicationContext(), “Quota failed: ” + info.status.errorCode + ” ” + info.status.message, Toast.LENGTH_SHORT).show();

}

}

}

});

}

});

workThread.start();

}

}

7. 运行Android程序登录并进行授权:

2013071915205422092.jpg

用户单击Login按钮

8. 程序进入账号登陆界面。

201307191520545781.jpg

如果用户第一次登陆第三方应用,会出现授权页面:

2013071915205413226.jpg

用户单击“授权”按钮之后,程序会返回主页面,在Android模拟器toast消息框里面我们就能看见获取的Access Token信息和用户名。使用此access token,我们接着来调用PCS API接口获取quota信息。

9. 用户单击“Get Quota”按钮,通过调用PCS API接口获取quota信息,获得的信息会在toast提示框中显示:

2013071915205531643.jpg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二进制加减运算

    二进制加减运算二进制加法原则是:2个1相加等于2就要向前给1,下面得算为0,相当于十进制1+9=10向前给1,下面得算为0,因为二进制只有0和1,所以1加1等于2多了一个1就要往前送。二进制减法原则是:0减1不够,就向前借2减11、加法实例11001100+0000110011001100+00001100——————11011000首先右边两个0相加为0,右3位1+1=2就要给前面1个1,下面得数为0,右4位因为前面给了一个1,所以现在就是1+1+1=3,把2向前给1,然后3..

    2022年6月22日
    36
  • python 实现输入一个小于1000的整数,对其进行因式分解

    python 实现输入一个小于1000的整数,对其进行因式分解

    2021年11月11日
    109
  • Spring Boot – Mybatis 缓存

    Spring Boot – Mybatis 缓存mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存和二级缓存。一级缓存一级缓存是sqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存

    2022年5月21日
    57
  • zookeeper 分布式锁原理(分布式锁实现原理)

    Zookeeper分布式锁的原理问:在什么样的场景下我们需要使用Zookeeper分布式锁呢?在分布式的项目中,指定的项目我们需要使用到锁的机制,但是在分布式下我们使用的内存锁都是相对独立的,因为每一个项目都有一个自己的JVM,而我们使用java类的锁都是受JVM控制的,这样在两台真实服务器上调用同一把锁的时候是没有办法进行锁操作,这个是我们就需要用到Zookeeper分布式锁了。…

    2022年4月12日
    37
  • HTML+CSS实现炫酷的登录界面「建议收藏」

    HTML+CSS实现炫酷的登录界面「建议收藏」谢谢大家的支持,您的一键三连是罡罡同学前进的最大动力!一键三连一键三连一键三连一键三连一键三连一键三连HTML+CSS实现炫酷的登录界面上效果图!鼠标点击用户名或密码,字体会向上滑动,调节大小并高亮。鼠标放到登录按钮上,按钮可以高亮!下面是HTML的代码:<!DOCTYPEhtml><htmllang=”zh-CN”> <head> <metacharset=”utf-8″/> <meta

    2022年5月4日
    177
  • nginx反向代理服务contextpath的问题解决

    nginx反向代理服务contextpath的问题解决文章目录问题描述解决方案 sub filter 方案使用重定向单独域名访问问题描述现在的企业服务 往往不是单体的 同时可能涉及中间件的访问如 dubbo solr mq 等 对于中间件的监控页面访问 如果直接暴露在公网 肯定这安全 需发对中间件访问进行安全加固 方法主要有 1 限制使用 IP 白名单访问 2 安全密码访问 不使用简单密码 对于没有密码的 可以使用 basic 认证 强密码访问 3

    2025年7月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号