1

受够了这个错误访问被拒绝(java.io.FilePermission \images\849cfc1ab7e594e7dba28cfdf37cf9bea87c5de2-privatekey.p12 } 在谷歌应用引擎中使用驱动器 api

我正在尝试使用服务帐户访问驱动器 api。我从 https://developers.google.com/drive/service-accounts编写代码。

但是,在最后一行访问文件@ FIle Reading time 时,我总是遇到此错误。这是代码

HttpTransport httpTransport = new NetHttpTransport();
          JacksonFactory jsonFactory = new JacksonFactory();
          GoogleCredential credential = new GoogleCredential.Builder()
              .setTransport(httpTransport)
              .setJsonFactory(jsonFactory)
              .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
              .setServiceAccountScopes(DriveScopes.DRIVE)
              .setServiceAccountPrivateKeyFromP12File(
                new java.io.File(SERVICE_ACCOUNT_PKCS12_FILE_PATH))
              .build();
          Drive service = new Drive.Builder(httpTransport, jsonFactory, null)
              .setHttpRequestInitializer(credential).build();

请建议....

4

3 回答 3

0

尝试检查您的 p12 密钥的属性,出于安全原因,可能会锁定浏览器下载。

于 2013-05-20T18:18:16.560 回答
0

App Engine 应用现在可以直接识别自己,您甚至不需要使用服务帐户。如果您没有特别的理由使用该服务,我建议您查看https://developers.google.com/appengine/docs/java/appidentity/overview#Asserting_Identity_to_Google_APIs

于 2013-05-04T11:03:53.917 回答
0

的价值是"SERVICE_ACCOUNT_PKCS12_FILE_PATH"多少?

在错误中看到反斜杠很奇怪:

\images\849cfc1ab7e594e7dba28cfdf37cf9bea87c5de2-privatekey.p12

至少除了正斜杠之外的路径相对于您的 web 应用程序的根目录,最好是进入 WEB-INF 目录以确保安全。指向一个名为 ' images' 的目录也不会让人感到放心。

于 2014-01-06T16:53:10.960 回答