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.
- Google API Konsolu'na gidin.
- Menü çubuğundan bir proje seçin veya yeni proje oluşturun.
- Google API Kitaplığı'nı açmak için Gezinme menüsünden API'ler ve Hizmetler > Kitaplık'ı seçin.
- "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.
- Google API Konsolu'na gidin ve projenizi seçin.
- Menüden API'ler ve Hizmetler > Kimlik bilgileri'ni seçin.
- Kimlik Bilgileri sayfasında, Kimlik Bilgileri Oluştur > OAuth istemci kimliği'ni tıklayın.
- Uygulama türünüzü seçin. Bu örnekte, uygulama türü Web uygulaması'dır.
Uygulamanızın Google API'lerine erişmesine izin verilen kaynakları aşağıdaki şekilde kaydedin:
- İstemci kimliğini tanımlamak için bir ad girin.
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
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
Create'i (Oluştur) tıklayın.
-
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.
- Komut isteminde
git clone https://github.com/google/java-photoslibrary.git
komutunu çalıştırın. - Bir
java-photoslibrary
dizininiz olacak.cd java-photoslibrary
komutunu çalıştırarak bu klasöre gidin. - 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.
- Komut isteminde
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.