Proxy環境下からOAuth認証でGoogleAPIに接続する。

基本的なやり方はここ
Java Quickstart  |  Google Calendar API  |  Google Developers

手順に従って、サービスを作ってCalendarQuickstartをコピペしてコンパイルすればOK。

んで、こいつをProxy環境下で動かすには以下のあたりを、

        try {
            HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
            DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR);
        } catch (Throwable t) {

こんな感じで書き換えてあげればOK。

        try {
            HTTP_TRANSPORT = new NetHttpTransport.Builder()
                    .setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 28080))).build();
            DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR);
        } catch (Throwable t) {

余談だが、上記チュートリアル、関連APIが足りていないのでMavenであればdependenciesは

        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client</artifactId>
            <version>1.22.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client-java6</artifactId>
            <version>1.22.0</version>
        </dependency>        
        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client-jetty</artifactId>
            <version>1.22.0</version>
        </dependency>        
        <dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client-gson</artifactId>
            <version>1.22.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.apis</groupId>
            <artifactId>google-api-services-calendar</artifactId>
            <version>v3-rev125-1.20.0</version>            
        </dependency>

が必要。

広告を非表示にする