大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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. 执行后,弹出百度登录页面,登录后弹出以下授权页面:
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。
注意:
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. 运行结果:
使用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中。
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程序登录并进行授权:
用户单击Login按钮
8. 程序进入账号登陆界面。
如果用户第一次登陆第三方应用,会出现授权页面:
用户单击“授权”按钮之后,程序会返回主页面,在Android模拟器toast消息框里面我们就能看见获取的Access Token信息和用户名。使用此access token,我们接着来调用PCS API接口获取quota信息。
9. 用户单击“Get Quota”按钮,通过调用PCS API接口获取quota信息,获得的信息会在toast提示框中显示:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159461.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...