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

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

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

קבל חשבון Google

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

היכרות עם Blogger

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

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

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

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

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

רקע של Blogger API

הקונספטים של Blogger

Blogger מבוסס על חמישה עקרונות בסיסיים:

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

מודל הנתונים ב-Blogger API

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

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

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

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

פעולות ב-Blogger API

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

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

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

Resource Type
שיטות נתמכות
רשימה קבלת getByUrl getByPath listByUser חיפוש insert מחיקה תיקון עדכון
בלוגים 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. בהקשר של ממשקי ה-API של Google,‏ 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 ב-Blogger API

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

הפורמט הספציפי ל-URIs של 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 מסוכם במסמך 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

REST מ-JavaScript

ניתן להפעיל את ה-API של Blogger מ-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.