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

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

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

תוכן עניינים

מבוא

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

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

הרשאת בקשות וזיהוי האפליקציה

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

בשלב הבא עוברים אל API חלונית גישה. מפתח ה-API נמצא בחלק התחתון של החלונית הזו, בקטע בשם 'Simple API Access'.

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

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

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

אחזור בלוג

אפשר לאחזר מידע לגבי משאב מסוים של בלוגים על ידי שליחת קובץ HTTP בקשת GET ל-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 יש גם בלוגים פרטיים, שדורשים אימות.

תשובה

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

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 */

הערה: כדי שהמשתמש יוכל לרשום את הבלוגים שלו, הוא צריך לעבור אימות. לכן, צריך לספק את הכותרת Authorization HTTP עם הבקשה 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 יש גם בלוגים פרטיים, שדורשים אימות.

תשובה

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

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"
    }
  }
}

עבודה עם Pages

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

כדי לאחזר רשימה של דפים בבלוג, שולחים בקשה מסוג 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 של משאב Pages הוא בפורמט הבא:

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"
    }
  }
}

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

אחזור משתמש

כדי לאחזר את פרטי המשתמש, שולחים בקשת HTTP GET אל ה-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 */

הערה: המשתמש חייב לעבור אימות כדי מציינים את הפרטים שלהם, כך שצריך לספק את ה-Authorization HTTP עם הבקשה 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 מתועדים ב- פרמטרים של מערכת.