我们正在尝试使用Google API在Google云端硬盘上创建文件夹和文档,并提供访问它们的链接。这是一个相对简单的要求。但是,我发现的所有参考资料都显示了各种面向对象编程语言的代码示例,这些编程语言似乎使用了辅助库。我们正在使用ColdFusion,并且需要通过直接HTTP调用(CFHTTP)访问API,为此我找不到好的文档。
是否有来自Google或其他地方的文档,显示每次通话所需的网址和网址变量?对于oAuth2.0和Google Drive,我们都需要这些。
答案 0 :(得分:1)
在这里@ Google Drive API Explorer您可以找到所有可用的API。单击任何API,您可以获得所有变量(必需和可选)以及描述。并且会发出请求,他们会向您显示请求的网址和json
响应。
另请查看this site。
希望这有帮助。
答案 1 :(得分:1)
我只是从一些评论中提取这个。
Google(搜索字词:" google drive rest api")会显示旧版本的文档:" Drive REST API Reference (v1)"。根据@ abraham的指导,目前的版本实际上就是:" Drive REST API Reference (v2)"。
答案 2 :(得分:0)
我主要根据谷歌的这个建议,推荐使用Java客户端库:
虽然您的应用程序可以直接完成这些任务 使用HTTP与OAuth 2.0系统进行交互 服务器到服务器的身份验证交互需要应用程序 创建并加密签名JSON Web令牌(JWT),以及它 容易造成严重错误,可能会对其产生严重影响 您的申请的安全性。
出于这个原因,我们强烈建议您使用库,例如 Google API客户端库,它将密码学抽象出来 来自您的应用程序代码。
(阅读更多Here)
我们刚刚通过了类似的过程来访问Google云端存储API。
如果您决定采用这种方式,那么您必须翻译Java代码示例以使其对ColdFusion友好。以下是对Cloud Storage API执行简单请求的示例(获取有关我们其中一个存储桶的信息):
httpTransport = createObject("java", "com.google.api.client.http.javanet.NetHttpTransport").init();
jsonFactory = createObject("java","com.google.api.client.json.jackson2.JacksonFactory").init();
credentialBuilder =
createObject("java", "com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder");
credentialBuilder.setTransport(httpTransport);
credentialBuilder.setJsonFactory(jsonFactory);
credentialBuilder.setServiceAccountId("SERVICE_ACCOUNT_EMAIL_ADDRESS");
p12File =createObject("java", "java.io.File").init(expandPath("PATH_TO_P12_FILE"));
credentialBuilder.setServiceAccountPrivateKeyFromP12File(p12File);
StorageScopes = createObject("java", "com.google.api.services.storage.StorageScopes");
// Alternative StorageScopes: DEVSTORAGE_READ_ONLY, DEVSTORAGE_READ_WRITE
credentialBuilder.setServiceAccountScopes([StorageScopes.DEVSTORAGE_FULL_CONTROL]);
credential = credentialBuilder.build();
httpRequestInitializer = createObject("java", "com.google.api.client.http.HttpRequestInitializer");
dataStoreFactory = createObject("java", "com.google.api.client.util.store.FileDataStoreFactory").init(DATA_STORE_DIR);
storage = createObject("java", "com.google.api.services.storage.Storage$Builder").init(httpTransport, jsonFactory, credential);
storage.setApplicationName(APP_NAME);
storage = storage.build();
getBucket = storage.buckets().get(BUCKET_NAME);
getBucket.setProjection("full");
bucket = getBucket.execute();