Blogger API: תחילת העבודה

במסמך הזה נסביר איך להתחיל להשתמש ב-API של Blogger.

לפני שמתחילים

קבל חשבון Google

לוודא שיש לכם חשבון Google מוגדר. כדי להגן על עצמכם מפני אובדן מקרי של נתונים, מומלץ להשתמש בחשבון Google נפרד למטרות פיתוח ובדיקה. אם כבר יש לכם חשבון בדיקה, הכול מוכן. אתם יכולים להיכנס לממשק המשתמש של Blogger כדי להגדיר, לערוך או להציג את נתוני הבדיקה.

היכרות עם Blogger

אם אתם לא מכירים את המושגים של Blogger, כדאי לקרוא את המסמך הזה ולהתנסות בממשק המשתמש לפני שתתחילו לתכנת. המסמך הזה מניח שאתם מכירים את Blogger, את המושגים לתכנות באינטרנט ואת הפורמטים של נתוני האינטרנט.

מידע נוסף על אישור בקשות וזיהוי הבקשה

כשהאפליקציה שלכם מבקשת מידע פרטי, הבקשה חייבת להיות מאושרת על ידי משתמש מאומת שיש לו גישה לנתונים האלה.

כשהאפליקציה מבקשת נתונים ציבוריים, לא צריך לאשר את הבקשה, אבל צריך לצרף לה מזהה, כמו מפתח API.

למידע על אישור בקשות ושימוש במפתחות API, ראו הרשאות בקשות וזיהוי האפליקציה במסמך השימוש ב-API.

רקע של Blogger API

מושגים ב-Blogger

Blogger מבוסס על חמישה מושגים בסיסיים:

  • בלוגים: המושג הבסיסי (root) של ה-API. בבלוג יש פוסטים ודפים. זהו מאגר המידע למטא-מידע של הבלוג, כמו שם הבלוג והתיאור.
  • פוסטים: פוסט בבלוג הוא הפריט שניתן לפרסם שנוצר על ידי כותב הבלוג. המידע הזה אמור להופיע בזמן אמת, והוא משקף את מה שהכותבים רוצים לפרסם לעולם עכשיו. ברור לנו שככל שהזמן עובר, התוכן בבלוג מתפרסם והופך להיות פחות רלוונטי.
  • תגובות: תגובה היא המקום שבו אנשים אחרים מלבד מי שכתב את הפוסט מגיבים למה שכתב המחבר. הכול מלבנים ועד זרים.
  • דפים: דף הוא מקום לתוכן סטטי, כמו מידע ביוגרפי או דרכים ליצירת קשר עם המשתמש. בדרך כלל מדובר במידע נצחי שלא משתנה לעיתים קרובות.
  • משתמשים: משתמש הוא מי שמקיים אינטראקציה עם Blogger, בין אם הוא פועל כמחבר, כאדמין או רק כקורא. בבלוגים ציבוריים, הקוראים יכולים להיות אנונימיים, אבל בבלוגים פרטיים הקורא חייב להיות מזוהה על ידי Blogger.

מודל הנתונים של Blogger API

משאב הוא ישות נתונים בודדת עם מזהה ייחודי. ה-API בפורמט JSON של Blogger פועל על חמישה סוגי משאבים:

  • מקור מידע על בלוגים: מייצג בלוג.
  • משאב פוסטים: מייצג פוסט. כל משאב של פוסטים הוא צאצא של משאב בלוגים.
  • מקור תגובות: מייצג תגובה בפוסט ספציפי. כל משאב של תגובות הוא צאצא של משאב פוסטים.
  • משאב Pages: מייצג דף סטטי. כל משאב של דף הוא צאצא של משאב בלוגים.
  • משאב משתמשים: מייצג משתמש לא אנונימי. משמש לזיהוי המחבר של דף, פוסט או תגובה.
לבלוגים יש שני סוגים של משאבי צאצא: דפים ופוסטים.
          משאב פוסטים יכול לכלול צאצאים של משאבי תגובות.
סקירה כללית של הקשרים בין משאבים

מודל הנתונים של Blogger API מבוסס על קבוצות של משאבים, שנקראות 'אוספים':

אוסף בלוגים
אוסף <span="apicollection">בלוגים מורכב מכל הבלוגים שלמשתמש יש גישה אליהם. אפשר לרשום בלוגים לפי משתמש, או לאחזר בלוג יחיד לפי מזהה.</span="apicollection">
אוסף פוסטים
אוסף פוסטים מורכב מכל המשאבים של פוסטים במשאב ספציפי של בלוגים.
איסוף תגובות
אוסף תגובות מורכב מכל המשאבים לתגובות במשאב ספציפי של פוסטים.
איסוף דפים
אוסף דפים כולל את כל המשאבים של הדפים במשאב בלוגים ספציפי.
אוסף משתמשים
אוסף משתמשים מורכב מכל משאבי המשתמשים ב-Blogger, ולכן אי אפשר להציג אותו ברשימה. משתמש יכול לאחזר את משאב המשתמשים שלו (אבל לא של אף אחד אחר) לפי מזהה או באמצעות המזהה self.

פעולות ב-Blogger API

אפשר להפעיל כמה שיטות שונות לגבי אוספים ומשאבים ב-Blogger API, כמו שמתואר בטבלה הבאה.

פעולה תיאור מיפויים של HTTP ב-REST
list רשימה של כל המשאבים באוסף. GET ב-URI של אוסף.
הורדה קבלת משאב ספציפי. GET ב-URI של משאב.
getByUrl מקבל משאב, מחפש אותו לפי כתובת אתר. GET בכתובת ה-URL שמועברת כפרמטר.
getByPath מקבל משאב על ידי חיפושו לפי הנתיב שלו. GET בנתיב שמועבר כפרמטר.
listByUser בתיבת הדו-שיח הזו מפורטים משאבים שבבעלות משתמש. GET באוסף בבעלות המשתמש.
search חיפוש משאבים על סמך פרמטר של שאילתה. GET בכתובת URL של חיפוש, כשהשאילתה מועברת כפרמטר.
הוספה יצירת משאב באוסף. POST ב-URI של אוסף.
מחיקה מוחק משאב. DELETE ב-URI של משאב.
תיקון מעדכנים משאב באמצעות סמנטיקה של תיקונים. PATCH ב-URI של משאב.
עדכון עדכון משאב. PUT ב-URI של משאב.

בטבלה הבאה אפשר לראות אילו methods נתמכות בכל סוג משאב. כל פעולות list ו-get בבלוגים פרטיים מחייבות אימות.

Resource Type
שיטות נתמכות
list get (הורדה) getByUrl getByPath listByUser חיפוש insert מחיקה patch עדכון
בלוגים no כן כן no כן no no no no no
פוסטים כן כן no כן no כן כן כן כן כן
תגובות כן כן no no no no no no no no
דפים כן כן no no no no no no no no
משתמשים no כן no no no no no no no no

סגנונות שיחה

יש כמה דרכים להפעיל את ה-API:

REST

‏REST הוא סגנון של ארכיטקטורת תוכנה שמציע תפיסה נוחה ועקבית לבקשת נתונים ולשינוי שלהם.

המונח REST הוא קיצור של Representational State Transfer. בהקשר של Google APIs,‏ REST מתייחס לשימוש בפעלים של HTTP כדי לאחזר ולשנות ייצוגים של נתונים ש-Google מאחסנת.

במערכת RESTful, המשאבים מאוחסנים במאגר נתונים. לקוח שולח בקשה לשרת לבצע פעולה מסוימת (כמו יצירה, אחזור, עדכון או מחיקה של משאב), והשרת מבצע את הפעולה ושולח תגובה – לרוב בצורת ייצוג של המשאב שצוין.

בממשקי RESTful API של Google, הלקוח מציין פעולה באמצעות פועל של HTTP כמו POST, GET, PUT או DELETE. הוא מציין משאב לפי URI ייחודי גלובלי, באופן הבא:

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

מכיוון שלכל משאבי ה-API יש מזהה URI ייחודי שאפשר לגשת אליו באמצעות HTTP,‏ ב-REST אפשר לשמור נתונים במטמון והוא מותאם לעבודה עם התשתית המבוזרת של האינטרנט.

תוכלו להיעזר בהגדרות השיטה במסמכי התיעוד של תקני HTTP 1.1 – הן כוללות מפרטים עבור GET, POST, PUT ו-DELETE.

REST ב-API של Blogger

הפעולות הנתמכות ב-Blogger ממופות ישירות לפעלים מסוג REST HTTP, כפי שמתואר בפעולות API של Blogger.

הפורמט הספציפי למזהי URI של 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

ההסבר המלא על מזהי ה-URI בשימוש והתוצאות של כל פעולה נתמכת ב-API מופיע בחומר העזר בנושא API של Blogger.

דוגמאות

הצגת רשימה של הבלוגים שלמשתמש המאומת יש הרשאות גישה אליהם:

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

REST מ-JavaScript

אפשר להפעיל את Blogger API מ-JavaScript באמצעות פרמטר השאילתה callback ולספק פונקציית קריאה חוזרת. כשהדפדפן טוען את הסקריפט, פונקציית הקריאה החוזרת מופעלת והתשובה מסופקת לפונקציית הקריאה החוזרת. הגישה הזו מאפשרת לכתוב אפליקציות עשירות שמציגות נתונים של Blogger בלי צורך בקוד בצד השרת.

הדוגמה הבאה מאחזרת פוסט מהבלוג code.blogger.com, אחרי שמחליפים את YOUR-API-KEY במפתח ה-API שלכם.

<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.