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

Google Photos Library API'yi PHP 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 PHP 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

PHP 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. Öncelikle, GitHub'dan bağımlılıklarla birlikte PHP için Google Photos Library API istemci kitaplığını indirip yükleyin. Ardından, PHP için OAuth2 kimlik bilgilerinizi ayarlayın.

İndirme seçenekleri

Kitaplığı, geliştirme ortamınıza bağımlılık olarak dahil etmek için composer kullanın. Kitaplığı proje yapılandırmanıza eklemek için aşağıdaki komutu çalıştırın ve kitaplığı vendor/ dizinine indirin.

composer require google/photos-library

Alternatif olarak depoyu klonlayabilir veya sıkıştırılmış bir tarball indirebilirsiniz.

PHP için OAuth2 kimlik bilgilerinizi ayarlama

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

PhotosLibraryClient kurulumu sırasında yetkilendirme kitaplığı tarafından döndürülen kimlik doğrulama kimlik bilgilerini kullanın.

Birkaç örnek deneyin

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

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

GitHub'da deneyebileceğiniz daha fazla örnek vardır.