इस दस्तावेज़ में, Blogger API का इस्तेमाल शुरू करने का तरीका बताया गया है.
शुरू करने से पहले
Google खाता पाएं
पक्का करें कि आपने Google खाता सेट अप किया हो. हमारा सुझाव है कि डेवलपमेंट और टेस्टिंग के लिए, अलग Google खाते का इस्तेमाल करें. इससे आपको अनजाने में डेटा खोने से बचने में मदद मिलेगी. अगर आपके पास पहले से कोई टेस्ट खाता है, तो आप इसे इस्तेमाल करने के लिए तैयार हैं. टेस्ट डेटा को सेट अप करने, उसमें बदलाव करने या उसे देखने के लिए, Blogger के यूज़र इंटरफ़ेस (यूआई) पर जाएं.
Blogger के बारे में जानकारी
अगर आपको Blogger के कॉन्सेप्ट के बारे में नहीं पता, तो इस दस्तावेज़ को पढ़ें. साथ ही, कोडिंग शुरू करने से पहले, यूज़र इंटरफ़ेस का इस्तेमाल करके देखें. इस दस्तावेज़ में यह माना गया है कि आपको Blogger के बारे में जानकारी है. साथ ही, आपको वेब प्रोग्रामिंग के कॉन्सेप्ट और वेब डेटा फ़ॉर्मैट के बारे में भी पता है.
अनुरोधों को अनुमति देने और अपने ऐप्लिकेशन की पहचान बताने के बारे में जानकारी
जब आपका ऐप्लिकेशन निजी डेटा को ऐक्सेस करने का अनुरोध करता है, तब इस अनुरोध की अनुमति किसी ऐसे उपयोगकर्ता को देनी चाहिए जिसके पास डेटा का ऐक्सेस हो.
जब आपका ऐप्लिकेशन सार्वजनिक डेटा को ऐक्सेस करने का अनुरोध करता है, तब इस अनुरोध की अनुमति लेने की ज़रूरत नहीं होती. हालांकि, इसके साथ एक आइडेंटिफ़ायर होना चाहिए, जैसे कि एपीआई कुंजी.
अनुरोधों को अनुमति देने और एपीआई कुंजियों का इस्तेमाल करने के तरीके के बारे में जानने के लिए, 'एपीआई का इस्तेमाल करना' दस्तावेज़ में अनुरोधों को अनुमति देना और अपने ऐप्लिकेशन की पहचान बताना लेख पढ़ें.
Blogger API के बारे में जानकारी
Blogger के कॉन्सेप्ट
Blogger को पांच बुनियादी सिद्धांतों के आधार पर बनाया गया है:
- ब्लॉग: एपीआई का मुख्य कॉन्सेप्ट. किसी ब्लॉग में पोस्ट और पेज होते हैं. यह ब्लॉग के मेटा-डेटा के लिए कंटेनर है. जैसे, ब्लॉग का नाम और ब्यौरा.
- पोस्ट: ब्लॉग पोस्ट, पब्लिश किया जा सकने वाला ऐसा आइटम होता है जिसे ब्लॉग के लेखक ने बनाया है. यह जानकारी समय के हिसाब से होनी चाहिए. इससे यह पता चलना चाहिए कि लेखक दुनिया को क्या बताना चाहते हैं. यह माना जाता है कि समय के साथ-साथ, ब्लॉग पोस्ट का कॉन्टेंट पुराना हो जाता है और कम काम का रह जाता है.
- टिप्पणियां: टिप्पणी वह जगह होती है जहां ब्लॉग पोस्ट के लेखक के अलावा अन्य लोग, लेखक के लिखे गए कॉन्टेंट पर अपनी प्रतिक्रिया देते हैं. ईंटों से लेकर गुलदस्ते तक, सब कुछ.
- पेज: पेज पर स्टैटिक कॉन्टेंट होता है. जैसे, जीवनी से जुड़ी जानकारी या उपयोगकर्ता से संपर्क करने के तरीके. यह आम तौर पर ऐसी जानकारी होती है जो हमेशा काम की होती है और जिसमें बार-बार बदलाव नहीं होता.
- उपयोगकर्ता: उपयोगकर्ता वह व्यक्ति होता है जो Blogger का इस्तेमाल करता है. वह लेखक, एडमिन या सिर्फ़ रीडर के तौर पर काम कर सकता है. सार्वजनिक ब्लॉग के लिए, पाठक की पहचान ज़ाहिर नहीं की जाती. हालांकि, निजी ब्लॉग के लिए Blogger को पाठक की पहचान करनी होती है.
Blogger API का डेटा मॉडल
संसाधन, एक यूनीक आइडेंटिफ़ायर वाली अलग-अलग डेटा इकाई होती है. Blogger JSON API, पांच तरह के संसाधनों पर काम करता है:
- ब्लॉग संसाधन: यह किसी ब्लॉग को दिखाता है.
- पोस्ट रिसॉर्स: यह किसी पोस्ट को दिखाता है. हर पोस्ट रिसॉर्स, ब्लॉग रिसॉर्स का चाइल्ड होता है.
- टिप्पणियां संसाधन: किसी पोस्ट पर की गई टिप्पणी को दिखाता है. हर टिप्पणियां संसाधन, पोस्ट संसाधन का चाइल्ड होता है.
- पेज रिसॉर्स: यह एक स्टैटिक पेज को दिखाता है. हर पेज रिसॉर्स, ब्लॉग रिसॉर्स का चाइल्ड होता है.
- Users resource: इससे ऐसे उपयोगकर्ता की जानकारी मिलती है जिसने अपनी पहचान नहीं छिपाई है. इसका इस्तेमाल, किसी पेज, पोस्ट या टिप्पणी के लेखक की पहचान करने के लिए किया जाता है.
Blogger API का डेटा मॉडल, संसाधनों के ग्रुप पर आधारित होता है. इन्हें कलेक्शन कहा जाता है:
- ब्लॉग का कलेक्शन
- <span="apicollection">ब्लॉग कलेक्शन में वे सभी ब्लॉग शामिल होते हैं जिन्हें ऐक्सेस करने का अधिकार उपयोगकर्ता के पास होता है. उपयोगकर्ता के हिसाब से ब्लॉग की सूची बनाई जा सकती है. इसके अलावा, आईडी के हिसाब से किसी एक ब्लॉग को वापस पाया जा सकता है.</span="apicollection">
- पोस्ट का कलेक्शन
- पोस्ट कलेक्शन में, किसी खास ब्लॉग संसाधन के सभी पोस्ट संसाधन शामिल होते हैं.
- टिप्पणियां इकट्ठा करना
- टिप्पणियों के कलेक्शन में, किसी खास पोस्ट के संसाधन में मौजूद सभी टिप्पणियों के संसाधन शामिल होते हैं.
- पेज कलेक्शन
- पेज कलेक्शन में, किसी खास ब्लॉग रिसॉर्स के सभी पेज रिसॉर्स शामिल होते हैं.
- उपयोगकर्ताओं का कलेक्शन
- उपयोगकर्ताओं के कलेक्शन में, Blogger पर मौजूद सभी उपयोगकर्ता संसाधन शामिल होते हैं. इसलिए, इन्हें सूची में शामिल नहीं किया जा सकता. कोई उपयोगकर्ता, आईडी या
selfआइडेंटिफ़ायर का इस्तेमाल करके, अपने users resource को वापस पा सकता है. हालांकि, वह किसी और के users resource को वापस नहीं पा सकता.
Blogger API के ऑपरेशन
Blogger API में, कलेक्शन और संसाधनों पर कई अलग-अलग तरीकों का इस्तेमाल किया जा सकता है. इनके बारे में यहां दी गई टेबल में बताया गया है.
| कार्रवाई | ब्यौरा | REST एचटीटीपी मैपिंग |
|---|---|---|
| list | किसी कलेक्शन में मौजूद सभी संसाधनों की सूची बनाता है. | GET पर क्लिक करें. |
| पाएं | यह कुकी किसी खास संसाधन को ऐक्सेस करती है. | GET को किसी संसाधन यूआरआई पर सेट करें. |
| getByUrl | यह यूआरएल के हिसाब से किसी संसाधन को ढूंढता है. | GET के साथ, यूआरएल को पैरामीटर के तौर पर पास किया जाता है. |
| getByPath | यह फ़ंक्शन, पाथ के हिसाब से किसी संसाधन को ढूंढता है. | GET, जिसमें पाथ को पैरामीटर के तौर पर पास किया गया है. |
| listByUser | यह उपयोगकर्ता के मालिकाना हक वाले संसाधनों की सूची बनाता है. | GET उपयोगकर्ता के मालिकाना हक वाले कलेक्शन पर. |
| search | क्वेरी पैरामीटर के आधार पर, संसाधनों को खोजें. | सर्च यूआरएल पर GET, जिसमें क्वेरी को पैरामीटर के तौर पर पास किया गया हो. |
| insert | किसी कलेक्शन में संसाधन बनाना. | POST पर क्लिक करें. |
| मिटाएं | किसी संसाधन को मिटाता है. | DELETE को किसी संसाधन यूआरआई पर सेट करें. |
| पैच | पैच से जुड़े सेमेंटिक का इस्तेमाल करके, किसी संसाधन को अपडेट करें. | PATCH को किसी संसाधन यूआरआई पर सेट करें. |
| अपडेट करें | किसी संसाधन को अपडेट करें. | PUT को किसी संसाधन यूआरआई पर सेट करें. |
नीचे दी गई टेबल में बताया गया है कि हर संसाधन टाइप के लिए, कौनसे तरीके इस्तेमाल किए जा सकते हैं. निजी ब्लॉग पर सूची और पाएं से जुड़ी सभी कार्रवाइयों के लिए, पुष्टि करना ज़रूरी है.
संसाधन किस तरह का है |
इस्तेमाल किए जा सकने वाले तरीके |
|||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| list | पाएं | getByUrl | getByPath | listByUser | search | insert | delete | patch | update | |
| ब्लॉग | नहीं | हां | हां | नहीं | हां | नहीं | नहीं | नहीं | नहीं | नहीं |
| पोस्ट | हां | हां | नहीं | हां | नहीं | हां | हाँ | हाँ | हाँ | हां |
| टिप्पणियां | हां | हां | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं |
| पेज | हां | हां | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं |
| उपयोगकर्ता | नहीं | हां | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं |
कॉल करने के स्टाइल
एपीआई को कई तरीकों से इस्तेमाल किया जा सकता है:
- REST का सीधे तौर पर या JavaScript से इस्तेमाल करना (सर्वर-साइड कोड की ज़रूरत नहीं है)
- क्लाइंट लाइब्रेरी का इस्तेमाल करके.
REST
REST, सॉफ़्टवेयर आर्किटेक्चर का एक स्टाइल है. यह डेटा में बदलाव करने और डेटा का अनुरोध करने का आसान और एक जैसा तरीका उपलब्ध कराता है.
"Representational State Transfer" को कम शब्दों में REST कहते हैं. Google APIs के संदर्भ में, इसका मतलब Google के पास सेव किए गए डेटा को वापस पाने और उसमें बदलाव करने के लिए, एचटीटीपी वर्ब का इस्तेमाल करना है.
RESTful सिस्टम में, रिसॉर्स को डेटा स्टोर में सेव किया जाता है. क्लाइंट, सर्वर को ऐसा अनुरोध भेजता है कि वह कोई खास कार्रवाई करे. जैसे, किसी रिसॉर्स बनाना, वापस पाना, अपडेट करना या मिटाना. इसके बाद, सर्वर कार्रवाई करता है और जवाब भेजता है. यह जवाब अक्सर, बताए गए रिसॉर्स के तौर पर होता है.
Google के RESTful API में, क्लाइंट किसी कार्रवाई के लिए एचटीटीपी वर्ब का इस्तेमाल करता है. जैसे, POST, GET, PUT या DELETE. यह इस फ़ॉर्म में मौजूद, दुनिया भर में पहचाने जाने वाले यूआरआई के ज़रिए किसी रिसॉर्स के बारे में बताता है:
https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters
सभी एपीआई संसाधनों के पास एचटीटीपी से ऐक्सेस किए जा सकने वाले यूआरआई होते हैं. इसलिए, REST से डेटा को कैश मेमोरी में सेव किया जा सकता है. साथ ही, इसे वेब के डिस्ट्रिब्यूटेड इंफ़्रास्ट्रक्चर के साथ काम करने के लिए ऑप्टिमाइज़ किया जाता है.
आपको एचटीटीपी 1.1 के स्टैंडर्ड के दस्तावेज़ में, मेथड की परिभाषाएं मिल सकती हैं. इनमें GET, POST, PUT, और DELETE के लिए खास जानकारी शामिल है.
Blogger API में REST
Blogger API के साथ काम करने वाले ऑपरेशन, सीधे तौर पर REST एचटीटीपी वर्ब से मैप होते हैं. इनके बारे में Blogger API के ऑपरेशन में बताया गया है.
Blogger API के यूआरआई के लिए ये फ़ॉर्मैट इस्तेमाल किए जाते हैं:
https://www.googleapis.com/blogger/v3/users/userId https://www.googleapis.com/blogger/v3/users/self https://www.googleapis.com/blogger/v3/users/userId/blogs https://www.googleapis.com/blogger/v3/users/self/blogs https://www.googleapis.com/blogger/v3/blogs/blogId https://www.googleapis.com/blogger/v3/blogs/byurl https://www.googleapis.com/blogger/v3/blogs/blogId/posts https://www.googleapis.com/blogger/v3/blogs/blogId/posts/bypath https://www.googleapis.com/blogger/v3/blogs/blogId/posts/search https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments https://www.googleapis.com/blogger/v3/blogs/blogId/posts/postId/comments/commentId https://www.googleapis.com/blogger/v3/blogs/blogId/pages https://www.googleapis.com/blogger/v3/blogs/blogId/pages/pageId
एपीआई में इस्तेमाल किए गए यूआरआई और काम करने वाली हर कार्रवाई के नतीजों के बारे में पूरी जानकारी, Blogger API के रेफ़रंस वाले दस्तावेज़ में दी गई है.
उदाहरण
उन ब्लॉग की सूची बनाएं जिनका ऐक्सेस, पुष्टि किए गए उपयोगकर्ता के पास है:
GET https://www.googleapis.com/blogger/v3/users/self/blogs?key=YOUR-API-KEY
code.blogger.com ब्लॉग पर मौजूद पोस्ट पाएं. इस ब्लॉग का आईडी 3213900 है:
GET https://www.googleapis.com/blogger/v3/blogs/3213900?key=YOUR-API-KEY
JavaScript से REST
JavaScript से Blogger API को कॉल किया जा सकता है. इसके लिए, callback क्वेरी पैरामीटर का इस्तेमाल करें और कॉलबैक फ़ंक्शन दें.
जब ब्राउज़र स्क्रिप्ट लोड करता है, तब कॉलबैक फ़ंक्शन को लागू किया जाता है. साथ ही, कॉलबैक फ़ंक्शन को जवाब दिया जाता है. इस तरीके से, ऐसे ऐप्लिकेशन बनाए जा सकते हैं जिनमें सर्वर साइड कोड की ज़रूरत नहीं होती और Blogger का डेटा दिखता है.
यहां दिए गए उदाहरण में, code.blogger.com ब्लॉग से एक पोस्ट वापस पाई गई है. इसके लिए, आपको YOUR-API-KEY को अपने एपीआई पासकोड से बदलना होगा.
<html>
<head>
<title>Blogger API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function handleResponse(response) {
document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content;
}
</script>
<script
src="https://www.googleapis.com/blogger/v3/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
</body>
</html>डेटा फ़ॉर्मैट
JSON
JSON (JavaScript Object Notation) एक सामान्य डेटा फ़ॉर्मैट है. यह किसी भी भाषा पर निर्भर नहीं करता. यह किसी भी डेटा स्ट्रक्चर को टेक्स्ट के तौर पर दिखाता है. ज़्यादा जानकारी के लिए, json.org पर जाएं.