Java Google API不再需要查找电子表格

时间:2015-06-21 01:17:35

标签: java google-api google-sheets

我目前正在使用Google Spreadsheets API访问电子表格。以下是我用来建立凭据的一些代码。

try 
{
    InputStream p12 = BotPanel.class.getResourceAsStream("/key.p12");

    File file = new File("hi");
    OutputStream outputStream = new FileOutputStream(file);
    IOUtils.copy(p12, outputStream);
    outputStream.close();

    String emailAddress = "81607255786-225dt8i2s8q6qgi0lgg814p27mumqro2@developer.gserviceaccount.com";
    HttpTransport httpTransport = new NetHttpTransport();
    JacksonFactory jsonFactory = new JacksonFactory();
    String[] SCOPESArray = { "https://spreadsheets.google.com/feeds", "https://spreadsheets.google.com/feeds/spreadsheets/private/full", "https://docs.google.com/feeds" };
    final List SCOPES = Arrays.asList(SCOPESArray);
    GoogleCredential credential = new GoogleCredential.Builder()
                    .setTransport(httpTransport).setJsonFactory(jsonFactory)
                    .setServiceAccountId(emailAddress).setServiceAccountScopes(SCOPES)
                    .setServiceAccountPrivateKeyFromP12File(file)
                    .build();

    file.delete();
    service = new SpreadsheetService("Test");
    service.setOAuth2Credentials(credential);
} catch (Exception e) 
{
    e.printStackTrace();
}

此代码大约在一周前开始工作,我访问电子表格的方式是使用电子表格供稿网址。请注意,通过此服务帐户,我在自己的个人帐户下共享了一个电子表格,以便服务帐户可以访问它。现在,当我尝试获取电子表格Feed时,我得到一个空列表。我还没有改变任何与Google驱动器相关的代码,所以如果有API的更新或我错过的内容,我将很高兴知道发生了什么。

0 个答案:

没有答案