راهنمای توسعه دهنده: پروتکل

Blogger Data API به برنامه های مشتری اجازه می دهد تا محتوای Blogger را در قالب فیدهای Google Data API مشاهده و به روز کنند.

برنامه مشتری شما می تواند از Blogger Data API برای ایجاد پست های وبلاگ جدید، ویرایش یا حذف پست های وبلاگ موجود و پرس و جو برای پست های وبلاگی که با معیارهای خاصی مطابقت دارند استفاده کند.

این سند علاوه بر ارائه پیش‌زمینه‌ای درباره قابلیت‌های Blogger Data API، نمونه‌هایی از تعاملات پایه داده API با استفاده از XML خام و HTTPS را ارائه می‌دهد. پس از خواندن این سند، ممکن است بخواهید با خواندن بخش‌های زبان برنامه‌نویسی راهنمای این برنامه‌نویس، درباره تعامل با API با استفاده از کتابخانه‌های سرویس گیرنده ما اطلاعات بیشتری کسب کنید.

فهرست

حضار

این سند برای برنامه نویسانی در نظر گرفته شده است که می خواهند برنامه های مشتری بنویسند که می توانند با استفاده از XML و HTTPS با Blogger تعامل داشته باشند.

این سند فرض می‌کند که شما ایده‌های کلی پشت پروتکل Google Data APIs را درک می‌کنید.

اگر از سیستم یونیکس استفاده می‌کنید و می‌خواهید نمونه‌های موجود در این سند را بدون نوشتن هیچ کدی امتحان کنید، ممکن است ابزارهای خط فرمان یونیکس curl یا wget مفید باشند. برای اطلاعات بیشتر، به صفحات کتابچه راهنمای آن ابزارهای کمکی مراجعه کنید.

برای اطلاعات مرجع Blogger Data API، به راهنمای مرجع پروتکل مراجعه کنید.

شروع شدن

ایجاد حساب بلاگر

ممکن است بخواهید برای اهداف آزمایشی برای یک حساب Blogger ثبت نام کنید . Blogger از حساب‌های Google استفاده می‌کند، بنابراین اگر از قبل یک حساب Google دارید، همه چیز آماده است.

درخواست های مجاز

هنگامی که برنامه شما داده های کاربر غیرعمومی را درخواست می کند، باید دارای یک نشانه مجوز باشد. توکن همچنین برنامه شما را در گوگل شناسایی می کند.

درباره پروتکل های مجوز

توصیه می کنیم از OAuth 2.0 برای تأیید درخواست ها استفاده کنید.

Blogger GData API همچنین از گزینه‌های مجوز قدیمی‌تر مانند OAuth 1.0 ، AuthSub یا ClientLogin پشتیبانی می‌کند. با این حال، در بیشتر موارد استفاده از آن گزینه های دیگر را توصیه نمی کنیم. اگر برنامه شما قبلاً از این گزینه ها استفاده می کند، توصیه می کنیم در صورت امکان به OAuth 2.0 مهاجرت کنید.

اگر برنامه شما دارای الزامات مجوز غیرعادی خاصی است، مانند ورود به سیستم همزمان با درخواست دسترسی به داده ( ترکیبی ) یا تفویض اختیار در سطح دامنه ( 2LO )، در حال حاضر نمی توانید از نشانه های OAuth 2.0 استفاده کنید. در چنین مواردی، باید به جای آن از توکن های OAuth 1.0 استفاده کنید.

تأیید درخواست ها با OAuth 2.0

درخواست‌ها به Blogger GData API برای داده‌های کاربر غیرعمومی باید توسط یک کاربر احراز هویت مجاز باشد.

جزئیات فرآیند مجوز یا "جریان" برای OAuth 2.0 بسته به نوع برنامه ای که می نویسید تا حدودی متفاوت است. فرآیند کلی زیر برای همه انواع برنامه ها اعمال می شود:

  1. هنگامی که برنامه خود را ایجاد می کنید، آن را در Google ثبت می کنید . سپس Google اطلاعاتی را که بعداً به آن نیاز خواهید داشت، مانند شناسه مشتری و راز مشتری ارائه می دهد.
  2. هنگامی که برنامه شما نیاز به دسترسی به داده های کاربر دارد، از Google دامنه دسترسی خاصی را می خواهد.
  3. Google یک گفتگوی OAuth را به کاربر نمایش می‌دهد و از او می‌خواهد برنامه شما را مجاز کند تا برخی از داده‌های خود را درخواست کند.
  4. اگر کاربر تأیید کند، گوگل به برنامه شما یک رمز دسترسی کوتاه مدت می دهد.
  5. برنامه شما با پیوست کردن رمز دسترسی به درخواست، داده های کاربر را درخواست می کند.
  6. اگر Google تشخیص دهد که درخواست شما و رمز معتبر هستند، داده‌های درخواستی را برمی‌گرداند.

برخی از جریان‌ها شامل مراحل اضافی هستند، مانند استفاده از نشانه‌های تازه‌سازی برای به دست آوردن نشانه‌های دسترسی جدید. برای اطلاعات دقیق درباره جریان‌ها برای انواع مختلف برنامه‌ها، به اسناد OAuth 2.0 Google مراجعه کنید.

در اینجا اطلاعات محدوده OAuth 2.0 برای Blogger GData API آمده است:

https://www.blogger.com/feeds/

برای درخواست دسترسی با استفاده از OAuth 2.0، برنامه شما به اطلاعات محدوده و همچنین اطلاعاتی که Google در حین ثبت برنامه ارائه می کند (مانند شناسه مشتری و/یا رمز سرویس گیرنده) نیاز دارد.

نکته: کتابخانه های سرویس گیرنده Google APIs می توانند برخی از فرآیندهای مجوز را برای شما انجام دهند. آنها برای انواع زبان های برنامه نویسی در دسترس هستند. برای جزئیات بیشتر صفحه کتابخانه ها و نمونه ها را بررسی کنید.

مشخص کردن یک نسخه

هر درخواستی که با استفاده از Blogger Data API ارسال می کنید باید نسخه 2 API را مشخص کند.

برای تعیین شماره نسخه، از هدر GData-Version HTTP استفاده کنید:

GData-Version: 2

از طرف دیگر، اگر نمی توانید هدرهای HTTP را تنظیم کنید، می توانید v=2 را به عنوان پارامتر پرس و جو در URL تعیین کنید. اما هدر HTTP در صورت امکان ترجیح داده می شود.

توجه : کتابخانه های سرویس گیرنده سرصفحه های نسخه مناسب را به صورت خودکار ارائه می کنند، بنابراین زمانی که از کتابخانه مشتری استفاده می کنید از پارامتر query v=2 استفاده نکنید.

بازیابی لیستی از وبلاگ ها

Blogger Data API خوراکی را ارائه می دهد که وبلاگ ها را برای یک کاربر خاص فهرست می کند. آن خوراک به عنوان "متافید" شناخته می شود.

برای بازیابی لیست وبلاگ ها، یک HTTP GET را به آدرس اینترنتی زیر ارسال کنید:

https://www.blogger.com/feeds/profileID/blogs

جایی که شناسه نمایه شماره در URL صفحه نمایه کاربر است.

توجه : همچنین می‌توانید شناسه کاربری default را جایگزین کنید، که به Blogger می‌گوید فهرست وبلاگ‌ها را برای کاربری که اعتبارنامه‌اش همراه با درخواست است، برگرداند.

یک ورودی در متافید ممکن است به شکل زیر باشد:

<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
</entry>

برای اطلاعات در مورد معنای هر یک از این عناصر، به سند مرجع پروتکل Google Data APIs یا مشخصات Atom 1.0 مراجعه کنید.

اگر درخواست شما به دلایلی ناموفق باشد، Blogger ممکن است کد وضعیت دیگری را برگرداند. اطلاعات بیشتر درباره کدهای وضعیت HTTP نیز در سند مرجع پروتکل Google Data APIs موجود است.

ایجاد پست ها

Blogger Data API به شما امکان ایجاد و انتشار مطالب جدید وبلاگ و همچنین ایجاد پیش نویس ورودی ها را می دهد.

انتشار پست وبلاگ

پس از احراز هویت، می توانید مطالب جدید وبلاگ را منتشر کنید.

ابتدا یک نمایش XML از پست برای انتشار ایجاد کنید. این XML باید به شکل عنصر Atom <entry> باشد که ممکن است به شکل زیر باشد:

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>Marriage!</title>
  <content type='xhtml'>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Mr. Darcy has <em>proposed marriage</em> to me!</p>
      <p>He is the last man on earth I would ever desire to marry.</p>
      <p>Whatever shall I do?</p>
    </div>
  </content>
  <category scheme="http://www.blogger.com/atom/ns#" term="marriage" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
</entry>

توجه : تنظیم یک نویسنده سفارشی برای پست ها در حال حاضر پشتیبانی نمی شود. همه پست های جدید به گونه ای ظاهر می شوند که گویی توسط کاربر تأیید شده فعلی ایجاد شده اند.

برای انتشار این مطلب، آن را به شرح زیر به آدرس پست وبلاگ ارسال کنید. ابتدا عنصر <entry> Atom خود را با استفاده از نوع محتوای application/atom+xml در متن درخواست POST جدید قرار دهید. سپس با قرار دادن عنصر <link> که در آن صفت rel با #post می شود، آدرس پست وبلاگ را در متافید پیدا کنید. آدرس پست وبلاگ به عنوان ویژگی href این عنصر داده می شود که در این قالب است:

https://www.blogger.com/feeds/blogID/posts/default

توجه : این نشانی اینترنتی همان URL در <link rel="service.post"> است که در بخش <head> نسخه قابل خواندن برای انسان وبلاگ ظاهر می شود.

Blogger با استفاده از ورودی ارسالی شما یک پست وبلاگ ایجاد می کند، سپس یک کد وضعیت HTTP 201 CREATED را به همراه یک کپی از پست جدید به شکل عنصر <entry> برمی گرداند. ورودی بازگشتی همان ورودی است که ارسال کردید، اما حاوی عناصر مختلفی است که توسط Blogger اضافه شده است، مانند عنصر <id> .

اگر درخواست شما به دلایلی ناموفق باشد، Blogger ممکن است کد وضعیت دیگری را برگرداند. برای اطلاعات در مورد کدهای وضعیت، به سند مرجع پروتکل Google Data API مراجعه کنید.

ایجاد پیش نویس پست وبلاگ

پست‌های پیش‌نویس مانند پست‌های عمومی ایجاد می‌شوند، اما با یک عنصر <app:control> به ورودی اضافه می‌شود که نشان می‌دهد پست (هنوز) نباید منتشر شود.

این عنصر <app:control> باید حاوی یک عنصر <app:draft> در کودکی باشد:

<app:control xmlns:app='http://www.w3.org/2007/app'>
  <app:draft>yes</app:draft>
</app:control>

داده های موجود در عنصر <app:draft> باید رشته yes باشد تا پست به عنوان پیش نویس شناخته شود.

می‌توانید با بازیابی پست پیش‌نویس، تنظیم داده‌های عنصر <app:draft> روی رشته no و سپس به‌روزرسانی پست، یک پست وبلاگ پیش‌نویس موجود را به یک پست منتشر شده تبدیل کنید. بازیابی و به روز رسانی پست ها در دو بخش بعدی پوشش داده شده است.

توجه : برای اطلاعات بیشتر در مورد پروتکل انتشار اتم، از جمله فضاهای نام <app:control> و <app:draft> ، به RFC 5023 مراجعه کنید.

در حال بازیابی پست ها

بخش‌های زیر نحوه بازیابی فهرستی از پست‌های وبلاگ، با و بدون پارامترهای پرس و جو را شرح می‌دهند.

می‌توانید بدون احراز هویت، فید عمومی Blogger را درخواست کنید. بنابراین، هنگام بازیابی پست های وبلاگ از یک وبلاگ عمومی، نیازی به تنظیم پارامتر مجوز ندارید.

بازیابی همه پست های وبلاگ

برای بازیابی پست های کاربر، یک درخواست HTTP GET به آدرس اینترنتی فید وبلاگ ارسال کنید. Blogger سپس فید حاوی ورودی های وبلاگ مناسب را برمی گرداند. به عنوان مثال، برای دریافت لیستی از پست های وبلاگ برای blogID ، درخواست HTTP زیر را به Blogger ارسال کنید (البته با مقدار مناسب به جای شناسه وبلاگ):

GET https://www.blogger.com/feeds/blogID/posts/default

سپس Blogger یک کد وضعیت HTTP 200 OK و یک فید استاندارد Atom 1.0 حاوی پست‌های وبلاگ را برمی‌گرداند.

در زیر نمونه ای از فید برای یک وبلاگ با تنها یک پست است. توجه داشته باشید که ما این مثال را کمی ویرایش کرده ایم تا برای انسان خواناتر شود. به ویژه، یک فید واقعی بلاگر حاوی شناسه‌ها و نشانی‌های اینترنتی واقعی است.

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>Quite disagreeable</title>
    <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

بازیابی مجدد یک پست وبلاگ

اگر می‌خواهید پستی را که قبلاً بازیابی کرده‌اید بازیابی کنید، می‌توانید با گفتن به Blogger که پست را فقط در صورتی که از آخرین باری که آن را بازیابی کرده‌اید تغییر کرده است، کارایی را افزایش دهید.

برای انجام این نوع بازیابی مشروط، یک درخواست HTTP GET ارسال کنید که شامل سرصفحه HTTP If-None-Match است. در هدر، ETag ورودی را مشخص کنید، که می توانید آن را در ویژگی gd:etag عنصر <entry> بیابید.

مثلا:

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

وقتی Blogger این درخواست را دریافت می‌کند، بررسی می‌کند که آیا ورودیی که درخواست کرده‌اید دارای ETag مشابه با ETagی است که شما مشخص کرده‌اید. اگر تگ‌های ET مطابقت داشته باشند، ورودی تغییر نکرده است و Blogger کد وضعیت HTTP 304 Not Modified را برمی‌گرداند.

اگر تگ‌های ET مطابقت نداشته باشند، پس از آخرین باری که شما آن را درخواست کرده‌اید، ورودی تغییر کرده است و بلاگر ورودی را برمی‌گرداند.

برای اطلاعات بیشتر در مورد ETags، راهنمای مرجع Google Data APIs را ببینید.

بازیابی پست ها با استفاده از پارامترهای پرس و جو

Blogger Data API به شما امکان می‌دهد مجموعه‌ای از ورودی‌ها را درخواست کنید که با معیارهای مشخص شده مطابقت دارند، مانند درخواست پست‌های وبلاگ منتشر شده یا به‌روزرسانی شده در یک محدوده تاریخ معین.

به عنوان مثال، برای ارسال یک جستجوی محدوده تاریخ، پارامترهای منتشر published-min و published-max را به URL درخواست اضافه کنید. برای دریافت تمام ورودی‌های وبلاگ ایجاد شده بین 16 مارس 2008 تا 24 مارس 2008، یک درخواست HTTP به آدرس اینترنتی فید وبلاگ ارسال کنید:

GET https://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59

وقتی آن درخواست GET را ارسال می‌کنید، Blogger یک کد وضعیت HTTP 200 OK و یک فید حاوی پست‌های وبلاگی که در محدوده تاریخی که شما تعیین کرده‌اید ایجاد شده است، برمی‌گرداند.

پارامترهای updated-min و updated-max ممکن است برای به‌روزرسانی همه ورودی‌های وبلاگ در یک محدوده مشخص استفاده شوند. با این حال، توجه داشته باشید که این پارامترها نادیده گرفته می شوند مگر اینکه پارامتر orderby نیز روی به updated تنظیم شود.

Blogger Data API از پارامترهای جستجوی زیر پشتیبانی می کند:

alt
نوع فید برای بازگشت، مانند atom (پیش‌فرض) یا rss .
/category
دسته بندی ها (همچنین به عنوان برچسب شناخته می شود) را برای فیلتر کردن نتایج فید مشخص می کند. برای مثال، https://www.blogger.com/feeds/ blogID /posts/default/-/Fritz/Laurie ورودی‌هایی را با هر دو برچسب Fritz و Laurie برمی‌گرداند.
حداکثر نتایج
حداکثر تعداد ورودی برای بازگشت.
سفارش داده شده توسط
ترتیبی که برای بازگرداندن ورودی‌ها، مانند lastmodified (پیش‌فرض)، starttime ، یا updated است.
منتشر شده-دقیقه، منتشر شده-حداکثر
محدوده تاریخ انتشار ورودی.
شروع-شاخص
ایندکس بر اساس 1 اولین نتیجه ای که بازیابی می شود (برای صفحه بندی).
به روز شده-min، به روز-حداکثر
محدودیت در تاریخ های به روز رسانی ورودی. این پارامترهای پرس و جو نادیده گرفته می شوند مگر اینکه پارامتر orderby روی به updated تنظیم شود.
مسیر
مسیر پیوند ثابت برای یک پست. به عنوان مثال، برای پستی که دارای URL http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html است، مسیر پیوند ثابت /2011/08/bloggers-fresh-new-look.html .
q
رشته پرس و جو متن کامل این به شما امکان می‌دهد تا در وبلاگ برای پست‌هایی که با یک پرس و جو مطابقت دارند جستجو کنید.

برای اطلاعات بیشتر در مورد پارامترهای پرس و جو، به راهنمای مرجع API داده Blogger و راهنمای مرجع Google Data APIs مراجعه کنید.

به روز رسانی پست ها

برای به‌روزرسانی یک پست وبلاگ موجود، ابتدا ورودی مورد نظر برای به‌روزرسانی را بازیابی می‌کنید، سپس آن را تغییر می‌دهید، و سپس یک درخواست PUT را با ورودی به‌روزرسانی شده در متن پیام، به URL ویرایش پست ارسال می‌کنید. مطمئن شوید که مقدار <id> در ورودی شما PUT با <id> ورودی موجود مطابقت دارد.

URL ویرایش در ورودی زیر مشخص شده است:

<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-11-08T18:10:00.000-08:00</published>
  <updated>2006-11-08T18:10:14.954-08:00</updated>
  <title type='text'>Quite disagreeable</title>
  <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</content>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default/postID'>
  </link>
  <link rel='edit' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
  </link>
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

مهم : برای اطمینان از سازگاری رو به جلو، مطمئن شوید که هنگام قرار PUT یک ورودی به روز شده، تمام XML موجود در هنگام بازیابی ورودی از Blogger را حفظ کنید. در غیر این صورت، وقتی موارد جدید را پیاده‌سازی می‌کنیم و عناصر <new-awesome-feature> را در فید اضافه می‌کنیم، مشتری شما آن‌ها را بر نمی‌گرداند و کاربران شما را از دست خواهند داد. کتابخانه های سرویس گیرنده Google Data API همه به درستی این کار را انجام می دهند، بنابراین اگر از یکی از کتابخانه ها استفاده می کنید، همه چیز آماده است.

توجه : تغییر داده های نویسنده مرتبط با پست ها در حال حاضر پشتیبانی نمی شود.

نکته عیب یابی : برخی فایروال ها پیام های HTTP PUT را مسدود می کنند. برای دور زدن این موضوع، می‌توانید یک هدر X-HTTP-Method-Override: PUT را در یک درخواست POST قرار دهید. برای جزئیات، به سند اصول پروتکل Google Data API مراجعه کنید.

حذف پست ها

برای حذف یک پست، یک درخواست DELETE به URL ویرایش پست ارسال کنید. این همان URL است که برای به‌روزرسانی پست‌ها استفاده می‌شود.

نکته عیب‌یابی : برخی فایروال‌ها پیام‌های HTTP DELETE را مسدود می‌کنند. برای دور زدن این موضوع، می‌توانید یک هدر X-HTTP-Method-Override: DELETE را در یک درخواست POST قرار دهید. برای جزئیات، به سند اصول پروتکل Google Data API مراجعه کنید.

نظرات

Blogger Data API امکان ایجاد، بازیابی و حذف نظرات را فراهم می کند. به روز رسانی نظرات پشتیبانی نمی شود (و نه در رابط وب موجود است).

ایجاد نظرات

برای ارسال نظر، یک عنصر Atom <entry> مانند شکل زیر ایجاد کنید:

  <entry xmlns='http://www.w3.org/2005/Atom'>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
  </entry>

برای انتشار این نظر، عنصر <entry> Atom خود را در متن درخواست POST جدید با استفاده از نوع محتوای application/atom+xml قرار دهید. سپس درخواست POST را به URL مناسب بلاگر ارسال کنید:

POST https://www.blogger.com/feeds/blogID/postID/comments/default

توجه : در حال حاضر، فقط می‌توانید برای وبلاگی که متعلق به کاربر تأیید شده است، نظر ارسال کنید.

توجه : تنظیم یک نویسنده سفارشی برای نظرات در حال حاضر پشتیبانی نمی شود. همه نظرات جدید به گونه ای ظاهر می شوند که گویی توسط کاربر تأیید شده فعلی ایجاد شده اند.

بازیابی نظرات

می‌توانید نظرات یک پست خاص را با ارسال یک GET به آدرس اینترنتی فید نظرات این پست بازیابی کنید:

GET https://www.blogger.com/feeds/blogID/postID/comments/default

یا می توانید نظرات همه پست ها را با استفاده از URL خوراک نظرات وبلاگ دریافت کنید:

GET https://www.blogger.com/feeds/blogID/comments/default

این درخواست‌ها یک فید نظرات را برمی‌گردانند که به شکل زیر است:

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/postID/comments/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/posts/default/postID'
      type='text/html' />
  </entry>
</feed>

حذف نظرات

برای حذف نظر، یک درخواست DELETE را به URL ویرایش نظر ارسال کنید. این URL در فید نظرات بالا برجسته شده است.

فرمت صادراتی

بلاگر به کاربران اجازه می دهد تا وبلاگ های خود را با استفاده از فایل صادراتی بلاگر صادر و وارد کنند. این فایل صادراتی شامل تمام پست ها و نظرات یک وبلاگ است. فرمت فایل صادراتی دقیقاً همان فرمت Atom است که در بخش های بازیابی پست ها و نظرات توضیح داده شده است. این فایل صادراتی حاوی محتویات فید پست و محتویات فید نظرات است که در یک سند ترکیب شده اند.

برای صادر کردن یا وارد کردن داده‌های وبلاگ با استفاده از فرمت صادرات، می‌توانید از صفحه تنظیمات وبلاگ دیدن کنید. برای بازیابی فایل صادراتی برای وبلاگ با استفاده از Data API، از URL زیر استفاده کنید:

GET https://www.blogger.com/feeds/blogID/archive

برای وارد کردن فایل صادراتی، یک درخواست POST به آدرس زیر با محتوای فایل صادراتی به عنوان داده درخواست و application/atom+xml به عنوان نوع محتوا ایجاد کنید:

POST https://www.blogger.com/feeds/blogID/archive/full

هیچ یک از نشانی‌های وب برای پارامترهای پرس و جو پشتیبانی نمی‌کنند. هر دو درخواست همچنین باید حاوی اطلاعات احراز هویت باشند و فقط مدیران وبلاگ می‌توانند وبلاگ را با استفاده از این نشانی‌های اینترنتی فید وارد یا صادر کنند.

توجه : اگر در حال ایجاد فایل صادراتی بلاگر خود هستید، در حال حاضر یک محدودیت در مورد ترتیب پست و ورودی های نظر وجود دارد. فایل صادراتی بلاگر ابتدا همه پست‌ها و سپس همه نظرات را فهرست می‌کند. تا زمانی که ورودی نظر بعد از پستی باشد که نظر برای آن است، درج کردن پست و نظر مجاز است.

برای اطلاعات بیشتر درباره نحوه استفاده Blogger از قالب Atom در فایل صادراتی، به راهنمای مرجع پروتکل مراجعه کنید.

بازگشت به بالا