我在 jsp 页面中遇到各种问题,因为我正在尝试读取 .p12 文件(谷歌服务帐户密钥文件)并且 jar 文件中的方法找不到它。我会尝试对问题进行非常详细的描述(作为我的第一个问题,我更愿意提供太多信息而不是太少信息)。
该 jsp 文件名为 modDrive.jsp,它位于 WebContent 文件夹中的动态 Web 项目中。我已将 miGoogle-drive.jar 添加到 lib 文件夹(并将源文件添加到 WEB-INF/classes/miGoogle 文件夹)。
modDrive.jsp 对 jar 文件中的 DriveConnect 静态类进行这两次调用:
DriveConnect.setKEY_PATH("privatekey.p12");
DriveConnect.entrada("email@domain.net");
问题出在 entrada 方法中:
public static void entrada(String serviceAccountUser) {
try {
try {
HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential googleCredential = null;
googleCredential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(Collections.singleton(DriveScopes.DRIVE))
.setServiceAccountPrivateKeyFromP12File(KEY_FILE)
.setServiceAccountUser(serviceAccountUser)
.build();
具体问题是没有找到 KEY_FILE (从先前设置的 KEY_PATH 派生),显然我得到一个文件未找到错误...正如您可以想象的那样,我试图将 .p12 文件放在所有文件夹中,但什么也没有我试图将 / 作为 KEY_PATH 字符串的第一个字符,但没有办法......
任何帮助将不胜感激。:-)
哦,是的,之前的代码作为 cmd 项目(没有 jar 文件)可以完美运行,在该项目中,.p12 文件位于项目的根文件夹中。