Java から Google API に簡単にアクセス

Java 用 Google API クライアント ライブラリは、HTTP トランスポート、エラー処理、認証、JSON 解析、メディアのダウンロード/アップロード、バッチ処理など、すべての Google API に共通する機能を提供します。このライブラリには、一貫性のあるインターフェースを持つ強力な OAuth 2.0 ライブラリ、任意のデータスキーマをサポートする軽量で効率的な XML および JSON データモデル、プロトコル バッファのサポートが含まれています。
Google の Java 用クライアント ライブラリを使用して Google API を呼び出すには、アクセスする Google API の Java ライブラリを生成します。この生成ライブラリには、コア google-api-java-client ライブラリと、ルート URL などの API 固有の情報が含まれます。また、API のコンテキストでエンティティを表すクラスが含まれ、JSON オブジェクトと Java オブジェクト間の変換に役立ちます。
Google の Java 用クライアント ライブラリを使用して Google API を呼び出すには、アクセスする Google API の Java ライブラリを生成します。この生成ライブラリには、コア google-api-java-client ライブラリと、ルート URL などの API 固有の情報が含まれます。また、API のコンテキストでエンティティを表すクラスが含まれ、JSON オブジェクトと Java オブジェクト間の変換に役立ちます。
Java 用 Google API クライアント ライブラリの特長
Google API の呼び出しは簡単です
Java 用 Google API クライアント ライブラリを使用すると、Google サービス固有の生成ライブラリを使用して Google API を呼び出すことができます。(Google API 用に生成されたクライアント ライブラリを見つけるには、サポートされている Google API のリストをご覧ください)。Java 用 Calendar API クライアント ライブラリを使用して Google Calendar API を呼び出す例を次に示します。
// Show events on user's calendar. View.header("Show Calendars"); CalendarList feed = client.calendarList().list().execute(); View.display(feed);
このライブラリは、バッチ処理とメディアのアップロード/ダウンロードを容易にします。
このライブラリには、バッチ処理、メディア アップロード、メディア ダウンロードの各ヘルパークラスが用意されています。このライブラリは認証を容易にします
このライブラリには強力な認証ライブラリが含まれており、OAuth 2.0 を処理するために必要なコードの量を減らすことができます。必要に応じて数行で済みます。例:
/** Authorizes the installed application to access user's protected data. */ private static Credential authorize() throws Exception { // load client secrets GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(CalendarSample.class.getResourceAsStream("/client_secrets.json"))); // set up authorization code flow GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder( httpTransport, JSON_FACTORY, clientSecrets, Collections.singleton(CalendarScopes.CALENDAR)).setDataStoreFactory(dataStoreFactory) .build(); // authorize return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user"); }
ライブラリは Google App Engine 上で実行されます
App Engine 固有のヘルパーは、API に対する認証済み呼び出しをすばやく処理します。そのため、トークンのコードの交換を心配する必要はありません。
例:
例:
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { AppIdentityCredential credential = new AppIdentityCredential(Arrays.asList(UrlshortenerScopes.URLSHORTENER)); Urlshortener shortener = new Urlshortener.Builder(new UrlFetchTransport(), new JacksonFactory(), credential) .build(); UrlHistory history = shortener.URL().list().execute(); ... }
このライブラリは Android 4.4 以降で動作します。
Java 用 Android クライアント固有のヘルパークラス用の Google クライアント ライブラリは、Android AccountManager と緊密に統合されています。例:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Google Accounts credential = GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS)); SharedPreferences settings = getPreferences(Context.MODE_PRIVATE); credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null)); // Tasks client service = new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential) .setApplicationName("Google-TasksAndroidSample/1.0").build(); }
インストールは簡単
生成されたライブラリを使用していない場合は、Java 用 Google API クライアント ライブラリのバイナリをダウンロード ページから直接ダウンロードするか、Maven か Gradle を使用できます。Maven を使用するには、pom.xml ファイルに次の行を追加します。
Gradle を使用するには、build.gradle ファイルに次の行を追加します。
<project> <dependencies> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.32.1</version> </dependency> </dependencies> </project>
Gradle を使用するには、build.gradle ファイルに次の行を追加します。
repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.32.1' }Google API Client Library for Java のインストールと設定について詳しくは、ダウンロードと設定の手順をご覧ください。
サポートされている環境
Java 用 Google API クライアント ライブラリは、次の Java 環境をサポートしています。
- Java 7 以降、Standard(SE)、Enterprise(EE)
- Google App Engine
- Android 4.4 以上。ただし、必要な Google サービスで Google Play 開発者サービス ライブラリを利用できる場合は、代わりにこちらのライブラリを使用してください。Google Play ライブラリは、可能な限り最高のパフォーマンスとエクスペリエンスを提供します。