我已经将功能上传文件实现到谷歌驱动器.我按照快速入门指南完成了它.
现在我正在将功能上传文件发送到特定文件夹*(例如:将文件上传到"My_Folder_name")*.我在API参考中找到了示例.问题是,如果我只知道文件夹的名称,我怎么能得到parentId (文件夹ID).
我找不到任何按名称搜索文件夹的功能......
是通过获取所有文件来获取文件夹的唯一方法,然后检查MimeType是否等于"application/vnd.google-apps.folder"并将其与文件夹名称进行比较.
if("application/vnd.google-apps.folder".equals(body.getMimeType()) && "My_Folder_name".equals(body.getTitle()) ){
....
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我必须实现一个将文件上传到Google云端硬盘的功能.
与快速入门指南中一样.
首先,我调用generateLinkAuth来生成获取代码的链接.
然后执行generateCode以获取令牌.
一切都好.
List<String> SCOPES = Arrays.asList("https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile", DriveScopes.DRIVE);
public String generateLinkAuth() {
mHttpTransport = new NetHttpTransport();
mJsonFactory = new JacksonFactory();
mFlow = new GoogleAuthorizationCodeFlow.Builder(mHttpTransport, mJsonFactory, CLIENT_ID, CLIENT_SECRET, SCOPES).setAccessType("online").setApprovalPrompt("force").build();
String url = mFlow.newAuthorizationUrl().setRedirectUri(REDIRECT_URI).build();
System.out.println("url :" + url);
return url;
}
public void generateCode(String code) {
new GetCredentialFromCode(mContext, code).execute();
}
class GetCredentialFromCode extends AsyncTask<Void, Void, Void> {
private Context mContext;
private String code;
private final ProgressDialog mDialog;
public GetCredentialFromCode(Context context, String cd) {
mContext = context; …
Run Code Online (Sandbox Code Playgroud)