我按照google drive sdk中提到的所有步骤进行操作.我在我的设备上创建了一个示例应用程序(android,运行果冻豆),并且能够将文件上传到驱动器.当我尝试下载相同的文件时,我能够获取文件ID,fileTitle,fileDownloadURL等元数据,但无法下载内容.我收到401 Unauthorized错误.
我的应用程序AUTH SCOPE是AUTH_TOKEN_TYPE ="oauth2:https://www.googleapis.com/auth/drive.file ";
我正在执行以下操作来获取OAUTH令牌:
AccountManager am = AccountManager.get(this);
Bundle options = new Bundle();
am.getAuthToken(
mAccount,
AUTH_TOKEN_TYPE,
options,
this,
new OnTokenAcquired(),
new Handler(){
@Override
public void handleMessage(Message msg) {
invadiateToken();
super.handleMessage(msg);
}
});
Run Code Online (Sandbox Code Playgroud)
基于令牌,这是我构建Drive对象的方式
Drive buildService(final String AuthToken) {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
Drive.Builder b = new Drive.Builder(httpTransport, jsonFactory, null);
b.setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
@Override
public void initialize(JsonHttpRequest request) throws IOException {
DriveRequest driveRequest = (DriveRequest) request;
driveRequest.setPrettyPrint(true); …Run Code Online (Sandbox Code Playgroud)