Java istemci kitaplığını kullanmaya başlama

Google Photos Library API'yi Java istemci kitaplığıyla kullanmaya başlamak için geliştirme ortamınızda istemci kitaplığını ayarlamanız gerekir. Bunu yapmadan önce, Google API Konsolu üzerinden API'yi etkinleştirip bir OAuth 2.0 istemci kimliği ayarlayarak projenizi yapılandırın.

Uygulamanız, bir Google Fotoğraflar kullanıcısı adına Google Fotoğraflar ile etkileşime geçiyor. Örneğin, bir kullanıcının Google Fotoğraflar kitaplığında albüm oluşturduğunuzda veya kullanıcının Google Fotoğraflar hesabına medya öğeleri yüklediğinizde, kullanıcı bu API isteklerini OAuth 2.0 protokolü aracılığıyla yetkilendirir.

OAuth 2.0 istemci kimliği, uygulama kullanıcılarınızın oturum açmasına, kimlik doğrulaması gerçekleştirmesine ve bu şekilde Library API'yi kullanmasına olanak tanır. Library API, hizmet hesaplarını desteklemez. Bu API'yi kullanmak için kullanıcıların geçerli bir Google Hesabı'nda oturum açmış olması gerekir.

Uygulamanızı yapılandırma

API'yi etkinleştirme

Library API'yi kullanabilmek için önce projenizde etkinleştirmeniz gerekir.

  1. Google API Konsolu'na gidin.
  2. Menü çubuğundan bir proje seçin veya yeni proje oluşturun.
  3. Google API Kitaplığı'nı açmak için Gezinme menüsünden API'ler ve Hizmetler > Kitaplık'ı seçin.
  4. "Google Photos Library API" araması yapın. Doğru sonucu seçin ve Etkinleştir'i tıklayın.

OAuth 2.0 istemci kimliği isteyin

OAuth istemci kimliği istemek ve bunu uygulamanız için yapılandırmak üzere aşağıdaki adımları uygulayın. Bu örnekte, örneklerimizde olduğu gibi OAuth akışının tamamının sunucu tarafında işlendiği bir uygulama kullanılmaktadır. Kurulum işlemleri, diğer uygulama senaryolarına göre değişiklik gösterebilir.

  1. Google API Konsolu'na gidin ve projenizi seçin.
  2. Menüden API'ler ve Hizmetler > Kimlik bilgileri'ni seçin.
  3. Kimlik Bilgileri sayfasında, Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
  4. Uygulama türünüzü seçin. Bu örnekte, uygulama türü Web uygulaması'dır.
  5. Uygulamanızın Google API'lerine erişmesine izin verilen kaynakları aşağıdaki şekilde kaydedin:

    1. İstemci kimliğini tanımlamak için bir ad girin.
    2. Yetkili JavaScript kaynakları alanına uygulamanızın kaynağını girin. Bu alanda joker karakterlere izin verilmez.

      Uygulamanızın farklı protokoller, alanlar veya alt alanlarda çalışmasına izin vermek için birden fazla kaynak girebilirsiniz. Girdiğiniz URL'lerin OAuth isteği başlatmasına izin verilir.

      Aşağıdaki örnekte bir yerel geliştirme URL'si (örneklerimizde localhost:8080 kullanılıyor) ve bir üretim URL'si gösterilmektedir.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. Yetkilendirilmiş yönlendirme URI'si alanı, OAuth 2.0 sunucusundan yanıt alan uç noktadır. Genellikle bu, geliştirme ortamınızı içerir ve uygulamanızdaki bir yolu işaret eder.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. Create'i (Oluştur) tıklayın.

  1. Açılan OAuth istemcisi iletişim kutusundan istemci yapılandırmanızı içeren JSON dosyasını indirin. Müşteri bilgileriniz aşağıdakilerden oluşur:

    • İstemci Kimliği
    • İstemci gizli anahtarı

    Bu JSON dosyası daha sonra bu istemci kitaplığıyla çalışan Java için Google Auth kitaplığını ayarlamak için kullanılacaktır.

Library API'ye erişen herkese açık bir uygulamayı başlatabilmeniz için önce uygulamanızın Google tarafından incelenmesi gerekir. Uygulamanızı test ettiğinizde, uygulama doğrulanana kadar ekranda "Doğrulanmamış uygulama" mesajı görüntülenir.

İstemci kitaplığını ayarlama

Java istemci kitaplığı, tüm arka uç API çağrılarını sizin için işler ve bazı yaygın API görevlerine yönelik kod örnekleri de dahil olmak üzere birlikte çalışabileceğiniz uygun nesneleri ortaya çıkarır. İlk olarak, GitHub'daki bağımlılıklarla birlikte Java için Google Photos Library API istemci kitaplığını indirip yükleyin. Ardından, Java için OAuth2 kimlik bilgilerinizi ayarlayın.

İndirme seçenekleri

İstemci kitaplığını indirmek için bazı seçenekler şunlardır:

  • Gradle bağımlılığı:

    Bu kitaplığı Gradle ile kullanmak için build.gradle dosyanıza aşağıdaki bağımlılığı ekleyin.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • Maven bağımlılığı:

    Bu kitaplığı Maven ile kullanmak için aşağıdakileri Maven pom.xml dosyanıza ekleyin.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • Sürüm indirme:

    Sürümler sayfası, jar dosyaları da dahil olmak üzere her kitaplık sürümü için farklı yapılar içerir.

  • Depoyu klonlama:

    Bu kitaplığı değiştirmek veya bu kitaplığa katkıda bulunmak, örneğin çekme istekleri göndermek ya da örneklerimizi denemek istiyorsanız bu yöntemi kullanın. Depoyu klonladığınızda bu depodaki tüm dosyalar indirilir.

    1. Komut isteminde git clone https://github.com/google/java-photoslibrary.git komutunu çalıştırın.
    2. Bir java-photoslibrary dizininiz olacak. cd java-photoslibrary komutunu çalıştırarak bu klasöre gidin.
    3. Projeyi derlemek için build.gradle dosyasını IDE'nizde açın veya komut isteminde ./gradlew assemble komutunu çalıştırın. Mevcut görevleri görmek için ./gradlew tasks sayfasına bakın.

Java için OAuth2 kimlik bilgilerinizi ayarlama

Bu istemci kitaplığı Java için Google Auth Library ile çalışır. Daha fazla bilgi için Java için Google API İstemci Kitaplığı ile OAuth 2.0'ı kullanma bölümüne bakın.

Bir PhotosLibraryClient nesnesi için PhotoLibrarySettings oluştururken CredentialsProvider içinde istemci OAuth yapılandırmanızı belirtin.

Birkaç örnek deneyin

Java istemci kitaplığını kullanarak ilk API çağrınızı yapmak için aşağıdaki kodu deneyin.

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

GitHub'da deneyebileceğiniz daha fazla örnek var.