Oauth 是否有以非OOP方式访问Google API的参考?

Oauth 是否有以非OOP方式访问Google API的参考?,oauth,coldfusion,oauth-2.0,google-api,google-drive-api,Oauth,Coldfusion,Oauth 2.0,Google Api,Google Drive Api,我们正在尝试使用谷歌API在谷歌硬盘上创建文件夹和文档,并提供访问它们的链接。这是一个相对简单的要求。然而,我发现的所有参考资料都显示了各种面向对象编程语言的代码示例,这些语言似乎使用了助手库。我们使用的是ColdFusion,需要通过直接HTTP调用(CFHTTP)访问API,对此我找不到好的文档 是否有来自谷歌或其他地方的文档显示每次调用所需的URL和URL变量?oAuth2.0和Google Drive都需要这些API。在这里@您可以找到所有可用的API。单击任何API,您将获得所有变量(

我们正在尝试使用谷歌API在谷歌硬盘上创建文件夹和文档,并提供访问它们的链接。这是一个相对简单的要求。然而,我发现的所有参考资料都显示了各种面向对象编程语言的代码示例,这些语言似乎使用了助手库。我们使用的是ColdFusion,需要通过直接HTTP调用(CFHTTP)访问API,对此我找不到好的文档

是否有来自谷歌或其他地方的文档显示每次调用所需的URL和URL变量?oAuth2.0和Google Drive都需要这些API。

在这里@您可以找到所有可用的API。单击任何API,您将获得所有变量(必需和可选)及其说明。然后发出请求,他们将向您显示请求的URL和
json
响应

还可以看看


希望这能有所帮助。

无论如何,我都会为使用Java客户端库做一个宣传,主要是基于谷歌的建议:

虽然您的应用程序可以通过直接 使用HTTP与OAuth 2.0系统交互 服务器到服务器的身份验证交互要求应用程序 创建JSON Web令牌(JWT)并对其进行加密签名,然后 容易犯严重错误,对系统造成严重影响 应用程序的安全性

因此,我们强烈鼓励您使用库,例如 谷歌API客户端库,将加密技术抽象出来 从您的应用程序代码

(阅读更多)

我们刚刚经历了一个类似的过程来访问Google云存储API

如果您决定这样做,您必须翻译Java代码示例,使其对ColdFusion友好。下面是一个对云存储API执行简单请求的示例(获取关于我们的一个存储桶的信息):


我只是从一些评论中摘录


谷歌(搜索词:“”)找到了一个旧版本的文档:“”。根据@abraham的指导,当前版本实际上是:“。

因为您使用的是coldfusion,所以应该能够使用java版本(尽管我几乎没有这样做的经验)。或者,您可以安装另一个您熟悉的版本,并监视正在发出的请求/响应。似乎没有关于RESTAPI本身的任何文档?我在谷歌上搜索了“谷歌驱动RESTAPI”,这是第一个链接。大多数或所有谷歌api都有一个“rest”文档化的使用方式,这是通过原始https调用完成的。当然驱动器文档中也有。@AdamCameron v1已弃用,应改用v2:Cheers@abraham:这是一个很好的更正。不过,我的观点仍然站得住脚,我认为:在使用通用技术时,谷歌相当擅长回答“我该怎么做…”之类的问题。
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();