PHP क्लाइंट लाइब्रेरी का इस्तेमाल शुरू करना

PHP क्लाइंट लाइब्रेरी के साथ Google Photos Library API का इस्तेमाल शुरू करने के लिए, आपको अपने डेवलपमेंट एनवायरमेंट में क्लाइंट लाइब्रेरी सेट अप करनी होगी. ऐसा करने से पहले, Google API (एपीआई) कंसोल के ज़रिए एपीआई चालू करके और OAuth 2.0 क्लाइंट आईडी सेट अप करके अपना प्रोजेक्ट कॉन्फ़िगर करें.

आपका ऐप्लिकेशन, Google Photos के किसी उपयोगकर्ता की तरफ़ से Google Photos से इंटरैक्ट करता है. उदाहरण के लिए, जब किसी उपयोगकर्ता की Google Photos लाइब्रेरी में एल्बम बनाए जाते हैं या उसके Google Photos खाते में मीडिया आइटम अपलोड किए जाते हैं, तो उपयोगकर्ता इन एपीआई अनुरोधों को OAuth 2.0 प्रोटोकॉल की मदद से अनुमति देता है.

OAuth 2.0 क्लाइंट आईडी की मदद से, आपके ऐप्लिकेशन के उपयोगकर्ताओं को साइन इन करने, पुष्टि करने, और लाइब्रेरी API का इस्तेमाल करने की सुविधा मिलती है. Library API, सेवा खातों के साथ काम नहीं करता. इस एपीआई का इस्तेमाल करने के लिए, यह ज़रूरी है कि उपयोगकर्ताओं ने किसी मान्य Google खाते में साइन इन किया हो.

अपने ऐप्लिकेशन को कॉन्फ़िगर करें

एपीआई चालू करें

Library API का इस्तेमाल करने से पहले, आपको इसे अपने प्रोजेक्ट के लिए चालू करना होगा.

  1. Google के एपीआई कंसोल पर जाएं.
  2. मेन्यू बार से, कोई प्रोजेक्ट चुनें या नया प्रोजेक्ट बनाएं.
  3. Google API लाइब्रेरी खोलने के लिए, नेविगेशन मेन्यू से, एपीआई और सेवाएं > लाइब्रेरी को चुनें.
  4. "Google Photos Library API" खोजें. सही नतीजा चुनें और चालू करें पर क्लिक करें.

OAuth 2.0 क्लाइंट आईडी का अनुरोध करना

OAuth क्लाइंट आईडी का अनुरोध करने और उसे अपने ऐप्लिकेशन के लिए कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं. इस उदाहरण में ऐसे ऐप्लिकेशन का इस्तेमाल किया जाता है जहां पूरे OAuth फ़्लो को सर्वर-साइड से हैंडल किया जाता है. जैसे, हमारे सैंपल में मौजूद एक. लागू करने की अन्य स्थितियों के लिए, सेटअप करने की प्रोसेस अलग-अलग हो सकती है.

  1. Google API कंसोल पर जाएं और अपना प्रोजेक्ट चुनें.
  2. मेन्यू में जाकर, एपीआई और सेवाएं > क्रेडेंशियल चुनें.
  3. क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करें.
  4. अपने ऐप्लिकेशन का टाइप चुनें. इस उदाहरण में, ऐप्लिकेशन का टाइप वेब ऐप्लिकेशन है.
  5. उन ऑरिजिन को यहां बताए गए तरीके से रजिस्टर करें जिनसे आपके ऐप्लिकेशन को Google API ऐक्सेस करने की अनुमति है:

    1. क्लाइंट आईडी की पहचान करने के लिए, कोई नाम डालें.
    2. अनुमति वाले JavaScript ऑरिजिन फ़ील्ड में, अपने ऐप्लिकेशन का ऑरिजिन डालें. यह फ़ील्ड वाइल्डकार्ड की अनुमति नहीं देता है.

      अपने ऐप्लिकेशन को अलग-अलग प्रोटोकॉल, डोमेन या सबडोमेन पर चलाने की अनुमति देने के लिए, एक से ज़्यादा ऑरिजिन डाले जा सकते हैं. आपने जो यूआरएल डाले हैं उन्हें OAuth अनुरोध शुरू करने की अनुमति है.

      इस उदाहरण में, लोकल डेवलपमेंट यूआरएल (हमारे सैंपल localhost:8080 का इस्तेमाल करते हैं) और प्रोडक्शन यूआरएल दिखाया गया है.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. अनुमति वाला रीडायरेक्ट यूआरआई फ़ील्ड वह एंडपॉइंट है जिसे OAuth 2.0 सर्वर से रिस्पॉन्स मिलते हैं. आम तौर पर, इसमें आपका डेवलपमेंट एनवायरमेंट शामिल होता है और यह आपके ऐप्लिकेशन के पाथ की जानकारी देता है.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. बनाएं पर क्लिक करें.

  1. OAuth क्लाइंट डायलॉग बॉक्स में, अपने क्लाइंट कॉन्फ़िगरेशन वाली JSON फ़ाइल डाउनलोड करें. आपके क्लाइंट की जानकारी में ये चीज़ें शामिल होती हैं:

    • Client ID
    • क्लाइंट सीक्रेट

    इस JSON फ़ाइल का इस्तेमाल बाद में, PHP के लिए Google Auth लाइब्रेरी को सेट अप करने के लिए किया जाएगा, जो इस क्लाइंट लाइब्रेरी के साथ काम करती है.

Library API को ऐक्सेस करने वाला कोई सार्वजनिक ऐप्लिकेशन लॉन्च करने से पहले, Google आपके ऐप्लिकेशन की समीक्षा कर लेगा. अपने ऐप्लिकेशन की जांच करने के बाद, स्क्रीन पर "ऐसा ऐप्लिकेशन जिसकी पुष्टि नहीं हुई है" मैसेज दिखता है. यह मैसेज तब तक दिखता है, जब तक इसकी पुष्टि नहीं हो जाती.

क्लाइंट लाइब्रेरी सेट अप करना

PHP क्लाइंट लाइब्रेरी आपके लिए सभी बैकएंड एपीआई कॉल को हैंडल करती है. साथ ही, यह कुछ सामान्य एपीआई कामों के लिए कोड सैंपल के साथ-साथ काम करने के लिए फ़्रेंडली ऑब्जेक्ट दिखाती है. सबसे पहले, GitHub की डिपेंडेंसी के साथ-साथ PHP के लिए Google Photos Library API क्लाइंट लाइब्रेरी डाउनलोड और इंस्टॉल करें. फिर, PHP के लिए अपने OAuth2 क्रेडेंशियल सेट अप करें.

डाउनलोड करने के विकल्प

अपने डेवलपमेंट एनवायरमेंट में लाइब्रेरी को डिपेंडेंसी के तौर पर शामिल करने के लिए, कंपोज़र का इस्तेमाल करें. लाइब्रेरी को अपने प्रोजेक्ट कॉन्फ़िगरेशन में जोड़ने और उसे vendor/ डायरेक्ट्री में डाउनलोड करने के लिए, नीचे दिया गया कमांड चलाएं.

composer require google/photos-library

इसके अलावा, डेटा स्टोर करने की जगह का क्लोन भी बनाया जा सकता है या कंप्रेस्ड टारबॉल डाउनलोड किया जा सकता है.

PHP के लिए अपने OAuth2 क्रेडेंशियल सेट अप करें

यह क्लाइंट लाइब्रेरी, PHP के लिए Google की पुष्टि वाली लाइब्रेरी के साथ काम करती है. ज़्यादा जानकारी के लिए, PHP के लिए Google API क्लाइंट लाइब्रेरी के साथ OAuth 2.0 का इस्तेमाल करना देखें.

PhotosLibraryClient सेट अप करते समय, पुष्टि करने वाली लाइब्रेरी से मिले पुष्टि करने के क्रेडेंशियल का इस्तेमाल करें.

कुछ सैंपल आज़माएं

PHP क्लाइंट लाइब्रेरी का इस्तेमाल करके, अपना पहला एपीआई कॉल करने के लिए, नीचे दिया गया कोड आज़माएं.

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 पर ऐसे और भी सैंपल हैं जिन्हें आज़माया जा सकता है.