我们如何使用java在谷歌驱动器中创建文件夹

时间:2017-09-05 06:34:59

标签: java google-drive-api google-docs google-drive-realtime-api

我需要使用Java在Google云端硬盘中创建该文件夹。是否有人告诉我示例或如何在Google云端硬盘中创建文件夹。提前致谢...!!!

我的节目

package net.sf.dynamicreports.examples;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

import com.google.gson.JsonObject;

public class SourceCodeProgram {

    public static void main(String argv[]) throws Exception {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost post = new HttpPost(
                "https://www.googleapis.com/drive/v2/files");
        post.addHeader("Content-Type", "application/json");
        post.addHeader("Authorization",
                "Bearer  XXXXXXXXXXXXXXXXXXXXXXXXX ");

        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("title", "Test folder");
        jsonObject
                .addProperty("mimeType", "application/vnd.google-apps.folder");

        post.setEntity(new StringEntity(jsonObject.toString()));
        httpClient.execute(post);
    }
}

在上面的程序中,一切都很顺利,只想了解

post.addHeader( “授权”,                 “Bearer XXXXXXXXXXXXXXXXXXXXXXXXX”);

我应该在

放置什么
  

XXXXXXXXXXXXXXXXXXXXXXXXX

这是我从谷歌获得的某种钥匙吗?

2 个答案:

答案 0 :(得分:0)

Google使用OAuth 2.0身份验证,您需要添加OAuth令牌代替xxxxxxxx进行OAuth 2.0身份验证(授权承载头用于OAuth身份验证)。这可能对您有用:https://developers.google.com/identity/protocols/OAuth2

使用Google成功验证后,您可以使用以下代码在Google云端硬盘中创建文件夹:

File fileMetadata = new File();
fileMetadata.setName("Invoices");
fileMetadata.setMimeType("application/vnd.google-apps.folder");

File file = driveService.files().create(fileMetadata).setFields("id").execute();
System.out.println("Folder ID: " + file.getId());

P.S。 - 这是从Google Drive Help Link

引用的

答案 1 :(得分:0)

请改用Drive API JAVA Quickstart,然后从那里开始。 ' xxxxxxxx'不是你可以从某个地方复制和粘贴的东西。它是Google API生成的访问令牌。但是出于测试目的,您可以从OAuthplayground生成它,复制并粘贴代替xxxxx。它只会持续一个小时,因此您还需要实现刷新令牌。这仅仅是出于测试目的。

为了让您了解正在生成的访问令牌,您可以在Picker API中看到此Javascript实现:

function onAuthApiLoad() {
        window.gapi.auth.authorize(
            {
              'client_id': clientId,
              'scope': scope,
              'immediate': false
            },
            handleAuthResult);
      }

 function handleAuthResult(authResult) {
        if (authResult && !authResult.error) {
          oauthToken = authResult.access_token; //<-- access token 
          createPicker();
        }
      }