我正在尝试编写一个将Google文档写入Google云端硬盘的AppEngine应用,并将其放入一组特定的文件夹并设置访问权限。我已经与旧的DocsList API一起工作,但由于刚刚被弃用,我决定更新我的代码(并且我还有一些额外的功能可以添加)。Google云端硬盘服务帐户返回403使用限制
我正面临的问题是:当我使用服务帐户并尝试模拟特定用户时,即使我没有用完我的任何配额,但仍会使用usageLimits。
这里是我使用的代码:
GoogleCredential credentials = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("xxxxxxxxxxgserviceaccount.com")
.setServiceAccountScopes(DriveScopes.DRIVE)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("xxxx-privatekey.p12"))
.setServiceAccountUser("[email protected]").build();
我不是使用这些凭据来启动我的Drive对象:
Drive d = Drive.builder(httpTransport, jsonFactory)
.setHttpRequestInitializer(credentials)
.setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
@Override
public void initialize(JsonHttpRequest request) {
DriveRequest driveRequest = (DriveRequest) request;
driveRequest.setPrettyPrint(true);
}
}).setApplicationName("MYAPPNAME").build();
BTW:我一直在使用新的驱动器试图(.. ..),但不管我尝试什么都不行。保持抛出内部方法没有找到的错误!
回到这个问题:。 当我不是使用 'D' 调用类似.files()获得( “SOMEFILEID”)执行()我得到一个403
{ "code" : 403,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Daily Limit Exceeded. Please sign up",
"reason" : "dailyLimitExceededUnreg",
"extendedHelp" : "https://code.google.com/apis/console"
} ],
"message" : "Daily Limit Exceeded. Please sign up"
}
我可以”弄清楚为什么这不起作用。我整天都在网上看,但找不到合适的答案。非常感谢一些帮助。
可能的重复:http://stackoverflow.com/questions/10323579/google-drive-sdk-java-sample-not-working –
我检查了...这是一个客户端应用程序。我遇到了服务帐户,服务器端的问题。但是再次经历这些问题......谁知道,这可能会奏效。 –