Blogger JSON API: שימוש ב-API

חשוב: ב-30 בספטמבר 2024 נפסיק את התמיכה ב-V2.0 JSON API. כדי להבטיח פונקציונליות מתמשכת, צריך לעדכן את האפליקציות שמסתמכות על v2.0 JSON API לגרסה האחרונה של ה-API. בגרסה העדכנית ביותר, משתמשים בקישורים שבסרגל הניווט הימני.

המסמך הזה מתאר איך להשתמש בתכונות הנפוצות של Blogger JSON API באמצעות סגנון הקריאות RESTful.

תוכן עניינים

מבוא

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

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

אישור בקשות וזיהוי היישום שלך

כל בקשה שהאפליקציה שלכם שולחת ל-Blogger JSON API צריכה לזהות את האפליקציה ב-Google. יש שתי דרכים לזהות את האפליקציה: באמצעות אסימון OAuth 2.0 (שגם מאשר את הבקשה) ו/או שימוש במפתח ה-API של האפליקציה. כך קובעים באילו מהאפשרויות האלה כדאי להשתמש:

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

הסבר על פרוטוקולים של הרשאות

כדי לאשר בקשות, האפליקציה צריכה להשתמש ב-OAuth 2.0. אין תמיכה בפרוטוקולים אחרים של הרשאות.

הערה: בשלב זה, Blogger API לא תומך בהתחברות במקביל לבקשת גישה לנתונים (היברידי) או הענקת סמכות ברמת הדומיין (2LO).

הרשאת בקשות עם OAuth 2.0

בקשות ל-Blogger JSON API עבור נתוני משתמשים לא ציבוריים חייבות לקבל אישור ממשתמש מאומת.

הפרטים על תהליך ההרשאה, או ה'זרימה', עבור OAuth 2.0, משתנים מעט בהתאם לסוג האפליקציה שאתם כותבים. התהליך הכללי הבא חל על כל סוגי האפליקציות:

  1. כשאתם יוצרים את האפליקציה, עליכם לרשום אותה ב-Google. Google מספקת מידע שיהיה נחוץ מאוחר יותר, כמו מזהה לקוח וסוד לקוח.
  2. מפעילים את Blogger JSON API בחלונית השירותים במסוף Google APIs. (אם הוא לא מופיע במסוף, אפשר לדלג על השלב הזה).
  3. כשהאפליקציה צריכה גישה לנתוני משתמשים, היא מבקשת מ-Google היקף גישה מסוים.
  4. Google מציגה למשתמש תיבת דו-שיח של OAuth, שבה היא מבקשת לתת לאפליקציה הרשאה לבקש חלק מהנתונים שלו.
  5. אם המשתמש מאשר את הבקשה, Google מספקת לאפליקציה אסימון גישה לטווח קצר.
  6. האפליקציה מבקשת נתוני משתמש ומצרפת לבקשה את אסימון הגישה.
  7. אם Google תקבע שהבקשה והאסימון תקפים, היא תחזיר את הנתונים המבוקשים.

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

אלה הפרטים של היקפי OAuth 2.0 ב-Blogger JSON API:

https://www.googleapis.com/auth/blogger

כדי לבקש גישה באמצעות OAuth 2.0, האפליקציה שלכם צריכה את המידע לגבי ההיקף וכמו כן את המידע ש-Google מספקת במהלך רישום האפליקציה (כמו מזהה הלקוח ו/או סוד הלקוח).

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

קבלת מפתח API ושימוש בו

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

כדי לקבל מפתח API, צריך לעבור אל מסוף API. בחלונית 'שירותים', מפעילים את [api_name]. אם התנאים וההגבלות מופיעים, קוראים ומאשרים אותם.

לאחר מכן נכנסים לחלונית API Access. מפתח ה-API נמצא בחלק התחתון של החלונית, בקטע שנקרא "Simple API Access" (גישה פשוטה ל-API).

אחרי שיצרתם מפתח API, האפליקציה יכולה לצרף את פרמטר השאילתה key=yourAPIKey לכל כתובות ה-URL של הבקשות.

מפתח ה-API בטוח להטמעה בכתובות URL; אין צורך בקידוד.

עבודה עם בלוגים

אחזור בלוג

אפשר לאחזר מידע ממשאב מסוים של בלוגים על ידי שליחה של בקשת GET מסוג HTTP ל-URI של הבלוג. ה-URI של משאב בלוגים הוא בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY

מכיוון שלא צריך לאמת את המשתמש כדי לאחזר בלוג ציבורי, לא צריך לספק את כותרת ה-HTTP Authorization עם בקשת GET הזו; אבל אם לא מציינים את הכותרת הזו, צריך לספק מפתח API.

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד הסטטוס 200 OK HTTP ועם נתוני הבלוג:

200 OK

{
  "kind": "blogger#blog",
  "id": "2399953",
  "name": "Blogger Buzz",
  "description": "The Official Buzz from Blogger at Google",
  "published": "2007-04-23T22:17:29.261Z",
  "updated": "2011-08-02T06:01:15.941Z",
  "url": "http://buzz.blogger.com/",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953",
  "posts": {
    "totalItems": 494,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts"
  },
  "pages": {
    "totalItems": 2,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages"
  },
  "locale": {
    "language": "en",
    "country": "",
    "variant": ""
  }
}

אחזור בלוגים של משתמש

כדי לאחזר רשימת בלוגים של משתמש, אפשר לשלוח בקשת GET מסוג HTTP ל-URI של אוסף הבלוגים:

https://www.googleapis.com/blogger/v2/users/userId/blogs

בקשה

הנה דוגמה לבקשת GET שבה מפורטים הבלוגים של משתמש:

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

הערה: המשתמש חייב לעבור אימות כדי להציג את הבלוגים שלו, ולכן צריך לספק את כותרת ה-HTTP Authorization עם הבקשה GET.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד סטטוס HTTP 200 OK ועם הייצוג המלא של רשימת הבלוגים של המשתמש:

200 OK

{
  "kind": "blogger#blogList",
  "items": [
    {
      "kind": "blogger#blog",
      "id": "4967929378133675647",
      "name": "Brett's Test Blawg",
      "description": "",
      "published": "2010-10-06T23:33:31.662Z",
      "updated": "2011-08-08T06:50:02.005Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647",
      "posts": {
        "totalItems": 13,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts"
      },
      "pages": {
        "totalItems": 1,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages"
      },
      "locale": {
        "language": "en",
        "country": "",
        "variant": ""
      }
    }
  ]
}

עבודה עם פוסטים

אחזור פוסטים מבלוג

כדי לאחזר רשימה של פוסטים מבלוג מסוים, אפשר לשלוח בקשת GET ל-URI של אוסף הפוסטים. ה-URI של אוסף פוסטים הוא בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

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

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד הסטטוס 200 OK HTTP ועם רשימת הפוסטים:

200 OK

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

אחזור פוסט ספציפי

אפשר לאחזר פוסט ספציפי מבלוג על ידי שליחת בקשת GET ל-URI של מקור הפוסטים. ה-URI של משאב של פוסטים מופיע בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

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

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד סטטוס HTTP 200 OK ועם התוכן של הפוסט:

200 OK

{
  "kind": "blogger#post",
  "id": "7706273476706534553",
  "blog": {
    "id": "2399953"
  },
  "published": "2011-08-01T19:58:00.000Z",
  "updated": "2011-08-01T19:58:51.947Z",
  "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
  "title": "Latest updates, August 1st",
  "content": "elided for readability",
  "author": {
    "id": "401465483996",
    "displayName": "Brett Wiltshire",
    "url": "http://www.blogger.com/profile/01430672582309320414",
    "image": {
      "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
    }
  },
  "replies": {
    "totalItems": "0",
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
  }
}

עבודה עם תגובות

אחזור תגובות לפוסט

אפשר לאחזר רשימת תגובות לפוסט על ידי שליחת בקשת GET ל-URI של אוסף התגובות. ה-URI של אוסף תגובות מופיע בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

מכיוון שלא נדרש אימות של המשתמש כדי לאחזר את התגובות מבלוג ציבורי, לא צריך לספק את כותרת ה-HTTP Authorization עם בקשת GET הזו; אבל אם לא מציינים את הכותרת הזו, צריך לספק מפתח API.

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד הסטטוס 200 OK HTTP ועם רשימת התגובות:

200 OK

{
  "kind": "blogger#commentList",
  "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ",
  "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ",
  "items": [
    {
       "kind": "blogger#comment",
       "id": "9200761938824362519",
       "post": {
         "id": "6069922188027612413"
       },
       "blog": {
         "id": "2399953"
       },
       "published": "2011-07-28T19:19:57.740Z",
       "updated": "2011-07-28T21:29:42.015Z",
       "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
       "content": "elided",
       "author": {
         "id": "530579030283",
         "displayName": "elided",
         "url": "elided",
         "image": {
           "url": "elided"
         }
       }
    },
    {
      "kind": "blogger#comment",
      "id": "400101178920857170",
      elided for readability
    }
  ]
}

אחזור של תגובה ספציפית

כדי לאחזר תגובה ספציפית מפוסט, אפשר לשלוח בקשת GET ל-URI של מקור התגובות. ה-URI של משאב התגובות מופיע בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

מכיוון שלא נדרש אימות של המשתמש כדי לאחזר את התגובות מבלוג ציבורי, לא צריך לספק את כותרת ה-HTTP Authorization עם בקשת GET הזו; אבל אם לא מציינים את הכותרת הזו, צריך לספק מפתח API.

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד הסטטוס 200 OK HTTP ועם נתוני התגובה:

200 OK

{
  "kind": "blogger#comment",
  "id": "9200761938824362519",
  "post": {
    "id": "6069922188027612413"
  },
  "blog": {
    "id": "2399953"
  },
  "published": "2011-07-28T19:19:57.740Z",
  "updated": "2011-07-28T21:29:42.015Z",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
  "content": "elided",
  "author": {
    "id": "530579030283",
    "displayName": "elided",
    "url": "elided",
    "image": {
      "url": "elided"
    }
  }
}

עבודה עם 'דפים'

אחזור דפים מבלוג

כדי לאחזר רשימה של דפים לבלוג, אפשר לשלוח בקשת GET ל-URI של אוסף הדפים. ה-URI של אוסף דפים הוא בפורמט הבא:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

מכיוון שלא נדרש אימות של המשתמש כדי לאחזר את הדפים מבלוג ציבורי, לא צריך לספק את כותרת ה-HTTP Authorization עם בקשת GET הזו; אבל אם לא מציינים את הכותרת הזו, צריך לספק מפתח API.

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד הסטטוס 200 OK HTTP ועם רשימת הדפים:

200 OK

{
  "kind": "blogger#pageList",
  "items": [
    {
      "kind": "blogger#page",
      "id": "273541696466681878",
      "blog": {
        "id": "4967929378133675647"
      },
      "published": "2011-07-14T16:16:00.000Z",
      "updated": "2011-07-14T16:16:23.602Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
      "title": "Static Content",
      "content": "elided for readability",
      "author": {
        "id": "901569848744",
        "displayName": "brett",
        "url": "http://www.blogger.com/profile/16258312240222542576",
        "image": {
          "url": "https://resources.blogblog.com/img/b16-rounded.gif"
        }
      }
    }
  ]
}

אחזור דף ספציפי

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

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

בקשה

לדוגמה:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

מכיוון שלא נדרש אימות של המשתמש כדי לאחזר את הדפים מבלוג ציבורי, לא צריך לספק את כותרת ה-HTTP Authorization עם בקשת GET הזו; אבל אם לא מציינים את הכותרת הזו, צריך לספק מפתח API.

ל-Blogger יש גם בלוגים פרטיים, שנדרשים עבורם אימות.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד סטטוס HTTP 200 OK ועם נתוני הדף:

200 OK

{
  "kind": "blogger#page",
  "id": "273541696466681878",
  "blog": {
    "id": "4967929378133675647"
  },
  "published": "2011-07-14T16:16:00.000Z",
  "updated": "2011-07-14T16:16:23.602Z",
  "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
  "title": "Static Content",
  "content": "elided for readability",
  "author": {
    "id": "901569848744",
    "displayName": "brett",
    "url": "http://www.blogger.com/profile/16258312240222542576",
    "image": {
      "url": "https://resources.blogblog.com/img/b16-rounded.gif"
    }
  }
}

עבודה עם משתמשים

אחזור משתמש

אפשר לאחזר פרטי משתמש על ידי שליחה של בקשת GET HTTP ל-URI של המשאב:

https://www.googleapis.com/blogger/v2/users/userId

בקשה

הנה דוגמה לבקשת GET שבה מפורטים הבלוגים של משתמש:

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

הערה: המשתמש צריך לעבור אימות על מנת להציג את הפרטים שלו, ולכן עליכם לספק את כותרת ה-HTTP Authorization עם הבקשה GET.

תשובה

אם הבקשה מצליחה, השרת מגיב עם קוד סטטוס HTTP 200 OK וקישור לרשימת הבלוגים של המשתמש:

200 OK

{
  "kind": "blogger#user",
  "id": "901569848744",
  "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744",
  "blogs": {
    "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs"
  }
}

פרמטרים רגילים של שאילתות

הפרמטרים הבאים של שאילתות יכולים לשמש בכל השיטות ובכל המשאבים בממשקי ה-API של Blogger.

הפרמטרים של שאילתות שחלים על כל הפעולות של ממשקי ה-API של Blogger מתועדים בקטע System Parameters (פרמטרים של המערכת).