Android 如何获取google drive rest api调用的访问令牌?
我想通过访问令牌从google drive获取文件列表 我所做的:Android 如何获取google drive rest api调用的访问令牌?,android,google-drive-android-api,Android,Google Drive Android Api,我想通过访问令牌从google drive获取文件列表 我所做的: 将应用程序注册到谷歌开发控制台 我有基于OAuth 2.0的客户端id 我想做的是: 调用HttpCallforhttps://www.googleapis.com/drive/v2/files 我想在标头中设置访问令牌,如下所示: DefaultHttpClient-httpClient=newdefaulthttpclient(); HttpPost=新的HttpPost(“https://www.googleapis.co
HttpCall
forhttps://www.googleapis.com/drive/v2/files
DefaultHttpClient-httpClient=newdefaulthttpclient();
HttpPost=新的HttpPost(“https://www.googleapis.com/drive/v2/files");
post.addHeader(“内容类型”、“应用程序/json”);
邮寄地址抬头(“授权”、“持票人XXXXXXXXXXXXXXXXXXXXXXXXX”)代码>
OAuth2.0
客户端Id获取授权访问令牌/**
* An activity that illustrates how to list files in a folder.
*/
public class ListFilesInFolderActivity extends BaseDemoActivity implements
ResultCallback {
private static DriveId sFolderId = DriveId.decodeFromString("DriveId:0B2EEtIjPUdX6MERsWlYxN3J6RU0");
private ListView mResultsListView;
private ResultsAdapter mResultsAdapter;
@Override
public void onConnected(Bundle connectionHint) {
super.onCreate(connectionHint);
setContentView(R.layout.activity_listfiles);
mResultsListView = (ListView) findViewById(R.id.listViewResults);
mResultsAdapter = new ResultsAdapter(this);
mResultsListView.setAdapter(mResultsAdapter);
DriveFolder folder = Drive.DriveApi.getFolder(getGoogleApiClient(), sFolderId);
folder.listChildren(getGoogleApiClient()).setResultCallback(childrenRetrievedCallback);
}
ResultCallback<MetadataBufferResult> childrenRetrievedCallback = new
ResultCallback<MetadataBufferResult>() {
@Override
public void onResult(MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving files");
return;
}
mResultsAdapter.clear();
mResultsAdapter.append(result.getMetadataBuffer());
showMessage("Successfully listed files.");
}
}
}
有关查询的更多详细信息。如果您正在使用中可用的作用域进行调用,那么这将是您的最佳选择 否则,您可以使用GoogleDrive Java客户端库。在这个例子中,您可以使用GoogleAccountCredential for Auth,它将包含访问令牌,但是您不需要直接使用它。请看一个例子
/**
* An activity that illustrates how to list files in a folder.
*/
public class ListFilesInFolderActivity extends BaseDemoActivity implements
ResultCallback {
private static DriveId sFolderId = DriveId.decodeFromString("DriveId:0B2EEtIjPUdX6MERsWlYxN3J6RU0");
private ListView mResultsListView;
private ResultsAdapter mResultsAdapter;
@Override
public void onConnected(Bundle connectionHint) {
super.onCreate(connectionHint);
setContentView(R.layout.activity_listfiles);
mResultsListView = (ListView) findViewById(R.id.listViewResults);
mResultsAdapter = new ResultsAdapter(this);
mResultsListView.setAdapter(mResultsAdapter);
DriveFolder folder = Drive.DriveApi.getFolder(getGoogleApiClient(), sFolderId);
folder.listChildren(getGoogleApiClient()).setResultCallback(childrenRetrievedCallback);
}
ResultCallback<MetadataBufferResult> childrenRetrievedCallback = new
ResultCallback<MetadataBufferResult>() {
@Override
public void onResult(MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving files");
return;
}
mResultsAdapter.clear();
mResultsAdapter.append(result.getMetadataBuffer());
showMessage("Successfully listed files.");
}
}
}
Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, "HelloWorld.java"))
.build();
Drive.DriveApi.query(googleApiClient, query);