مهم : این نسخه قدیمی این صفحه است. برای آخرین نسخه، از پیوندهای موجود در نوار ناوبری سمت چپ استفاده کنید.
Blogger Data API به برنامه های مشتری اجازه می دهد تا محتوای Blogger را در قالب فیدهای Google Data API مشاهده و به روز کنند.
برنامه مشتری شما می تواند از Blogger Data API برای ایجاد پست های وبلاگ جدید، ویرایش یا حذف پست های وبلاگ موجود و پرس و جو برای پست های وبلاگی که با معیارهای خاصی مطابقت دارند استفاده کند.
این سند علاوه بر ارائه پیشزمینهای در مورد قابلیتهای Blogger Data API، نمونههایی از تعاملات پایه داده API با استفاده از XML خام و HTTP را ارائه میدهد. پس از خواندن این سند، ممکن است بخواهید با خواندن بخشهای زبان برنامهنویسی راهنمای این برنامهنویس، درباره تعامل با API با استفاده از کتابخانههای سرویس گیرنده ما اطلاعات بیشتری کسب کنید.
مطالب
مخاطب
این سند برای برنامه نویسانی در نظر گرفته شده است که می خواهند برنامه های مشتری بنویسند که می توانند با استفاده از XML و HTTP با Blogger تعامل داشته باشند.
این سند فرض میکند که شما ایدههای کلی پشت پروتکل Google Data APIs را درک میکنید.
اگر از سیستم یونیکس استفاده میکنید و میخواهید نمونههای موجود در این سند را بدون نوشتن هیچ کدی امتحان کنید، ممکن است ابزارهای خط فرمان یونیکس curl
یا wget
مفید باشند. برای اطلاعات بیشتر، به صفحات کتابچه راهنمای آن ابزارهای کمکی مراجعه کنید.
برای اطلاعات مرجع Blogger Data API، به راهنمای مرجع پروتکل مراجعه کنید.
شروع کردن
ایجاد حساب بلاگر
ممکن است بخواهید برای اهداف آزمایشی برای یک حساب Blogger ثبت نام کنید . Blogger از حسابهای Google استفاده میکند، بنابراین اگر از قبل یک حساب Google دارید، همه چیز آماده است.
احراز هویت در سرویس بلاگر
با استفاده از Blogger Data API می توانید به فیدهای عمومی و خصوصی دسترسی داشته باشید. فیدهای عمومی نیازی به احراز هویت ندارند، اما فقط خواندنی هستند. اگر میخواهید وبلاگها را اصلاح کنید، مشتری شما باید قبل از درخواست فیدهای خصوصی، احراز هویت کند. این می تواند با استفاده از یکی از دو روش احراز هویت کند: احراز هویت پروکسی AuthSub یا احراز هویت نام کاربری/گذرواژه ClientLogin .
برای اطلاعات بیشتر در مورد احراز هویت با APIهای Google Data به طور کلی، به مستندات احراز هویت مراجعه کنید.
اکثر نمونههای بخشهای بعدی این سند فرض میکنند که شما احراز هویت مناسب را ارائه میکنید.
احراز هویت پروکسی AuthSub
احراز هویت پراکسی AuthSub توسط برنامههای کاربردی وب استفاده میشود که باید کاربران خود را در حسابهای Google احراز هویت کنند. اپراتور وب سایت و کد مشتری به نام کاربری و رمز عبور کاربر بلاگر دسترسی ندارند. در عوض، کلاینت توکن های AuthSub ویژه ای را دریافت می کند که به مشتری اجازه می دهد از طرف یک کاربر خاص عمل کند. برای اطلاعات بیشتر، به مستندات AuthSub مراجعه کنید.
وقتی کاربر برای اولین بار از برنامه شما بازدید می کند، هنوز احراز هویت نشده است. در این مورد، شما باید برخی از اطلاعات و لینکی را نمایش دهید که کاربر را به صفحه Google هدایت می کند تا درخواست شما برای دسترسی به وبلاگ خود را تأیید کند.
پارامترهای پرس و جو زیر در URL AuthSubRequest گنجانده شده است:
- بعدی
- آدرس صفحه ای که گوگل باید پس از احراز هویت کاربر را به آن هدایت کند.
- دامنه
- نشان می دهد که برنامه برای دسترسی به فیدهای Blogger درخواست یک رمز می کند. رشته scope مورد استفاده
http://www.blogger.com/feeds/
است (البته با URL-encoded). - امن
- نشان می دهد که آیا مشتری یک توکن امن درخواست می کند یا خیر.
- جلسه
- نشان می دهد که آیا رمز برگشتی را می توان با یک توکن چند منظوره (جلسه) مبادله کرد یا خیر.
URL AuthSubRequest ممکن است به شکل زیر باشد:
https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html
کاربر پیوند به سایت Google را دنبال می کند و در حساب Google خود احراز هویت می کند.
پس از احراز هویت کاربر، سیستم AuthSub آنها را به آدرس اینترنتی که در پارامتر پرس و جو next
URL AuthSubRequest مشخص کرده اید هدایت می کند. سیستم AuthSub یک نشانه احراز هویت را به عنوان مقدار پارامتر کوئری token
به آن URL اضافه می کند. به عنوان مثال:
http://www.example.com/welcome.html?token=yourAuthToken
این مقدار توکن نشان دهنده یک توکن AuthSub یکبار مصرف است. در این مثال، از آنجایی که session=1
مشخص شده است، می توان این نشانه را با یک نشانه جلسه AuthSub با فراخوانی سرویس AuthSubSessionToken
با توکن یکبار مصرف در سربرگ Authorization، به صورت زیر مبادله کرد:
GET /accounts/AuthSubSessionToken HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourAuthToken" User-Agent: Java/1.5.0_06 Host: www.google.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
پاسخ سرویس AuthSubSessionToken شامل یک هدر Token
است که حاوی نشانه جلسه و یک سرصفحه Expiration
است که نشان می دهد تا چه مدت این نشانه معتبر باقی می ماند.
سپس برنامه شما می تواند از مقدار نشانه جلسه در سرصفحه Authorization
تعاملات بعدی با بلاگر استفاده کند.
در اینجا نمونه ای از درخواست HTTP، حاوی یک رمز غیر ایمن است که ممکن است به Blogger ارسال کنید:
GET /feeds/blogID/blogs/posts/defaults HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourSessionToken" User-Agent: Java/1.5.0_06 Host: www.blogger.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
احراز هویت نام کاربری/گذرواژه ClientLogin
اگر کلاینت شما یک کلاینت «نصب شده» مستقل و تک کاربره است (مانند یک برنامه دسکتاپ) از احراز هویت ClientLogin استفاده کنید. برای درخواست توکن احراز هویت با استفاده از مکانیزم ClientLogin، یک درخواست POST
به آدرس اینترنتی زیر ارسال کنید:
https://www.google.com/accounts/ClientLogin
بدنه POST
باید شامل مجموعهای از پارامترهای پرس و جو باشد که شبیه پارامترهایی هستند که توسط یک فرم HTML ارسال میشوند و با استفاده از نوع محتوای application/x-www-form-urlencoded
. این پارامترها عبارتند از:
- ایمیل
- آدرس ایمیل کاربر.
- Passwd
- رمز عبور کاربر.
- خدمات
- نام سرویس بلاگر
blogger
است. (برای سایر نامهای سرویس، به لیست نام سرویس مراجعه کنید.) - نوع حساب
- هنگام استفاده از Blogger API همیشه باید روی
GOOGLE
تنظیم شود. تنظیم نکردن این پارامتر باعث میشود کاربرانی که دارای حساب G Suite نیز هستند، دسترسی نداشته باشند. - منبع
- برنامه مشتری شما را شناسایی می کند. باید به شکل companyName - applicationName - versionID باشد. نمونه ها از نام
exampleCo-exampleApp-1
استفاده می کنند.
برای اطلاعات بیشتر در مورد پارامترها، به سند تأیید اعتبار برای برنامه های نصب شده مراجعه کنید.
اگر درخواست احراز هویت ناموفق باشد، سرور یک کد وضعیت HTTP 403 Forbidden
را برمیگرداند.
اگر موفق شد، سرور یک کد وضعیت HTTP 200 OK
، به اضافه سه کد الفبایی عددی طولانی در بدنه پاسخ را برمیگرداند: SID، LSID، و Auth. مقدار Auth نشانه مجوزی است که با هر یک از درخواستهای بعدی خود به Blogger ارسال میکنید، بنابراین یک کپی از آن مقدار را نگه دارید. می توانید مقادیر SID و LSID را نادیده بگیرید.
از آنجایی که همه درخواستها به فیدهای خصوصی نیاز به احراز هویت دارند، باید هدر مجوز را در تمام تعاملات بعدی با Blogger با استفاده از قالب زیر تنظیم کنید:
Authorization: GoogleLogin auth=yourAuthToken
جایی که yourAuthToken
رشته Auth است که توسط درخواست ClientLogin برگردانده شده است.
برای اطلاعات بیشتر درباره احراز هویت ClientLogin، از جمله درخواستها و پاسخهای نمونه، به مستندات احراز هویت برای برنامههای نصبشده مراجعه کنید.
توجه : برای همه درخواست ها در یک جلسه معین از یک نشانه استفاده کنید. برای هر درخواست بلاگر یک نشانه جدید دریافت نکنید.
توجه : همانطور که در مستندات ClientLogin توضیح داده شده است، درخواست احراز هویت ممکن است با شکست مواجه شود و یک چالش CAPTCHA درخواست کند. اگر میخواهید Google چالش CAPTCHA را صادر و رسیدگی کند، کاربر را به https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger
بفرستید (به جای URL مربوط به CAPTCHA که در اسناد ClientLogin ارائه شده است).
بازیابی لیستی از وبلاگ ها
Blogger Data API خوراکی را ارائه می دهد که وبلاگ ها را برای یک کاربر خاص فهرست می کند. آن خوراک به عنوان "متافید" شناخته می شود.
برای بازیابی لیست وبلاگ ها، یک HTTP GET
به آدرس اینترنتی زیر ارسال کنید:
http://www.blogger.com/feeds/userID/blogs
توجه : همچنین میتوانید شناسه کاربری default
را جایگزین کنید، که به Blogger میگوید فهرست وبلاگها را برای کاربری که اعتبارنامهاش همراه با درخواست است، برگرداند.
یک ورودی در متافید ممکن است به شکل زیر باشد:
<entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-08-02T18:44:43.089-07:00</published> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <summary type='html'>Being the journal of Elizabeth Bennet</summary> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </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
این عنصر داده می شود که در این قالب است:
http://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://purl.org/atom/app#'> <app:draft>yes</app:draft> </app:control>
داده های موجود در عنصر <app:draft>
باید رشته yes باشد تا پست به عنوان پیش نویس شناخته شود.
میتوانید با بازیابی پست پیشنویس، تنظیم دادههای عنصر <app:draft>
روی رشته no و سپس بهروزرسانی پست، یک پست وبلاگ پیشنویس موجود را به یک پست منتشر شده تبدیل کنید. بازیابی و به روز رسانی پست ها در دو بخش بعدی پوشش داده شده است.
توجه : برای اطلاعات بیشتر در مورد پروتکل انتشار اتم، از جمله فضاهای نام <app:control>
و <app:draft>
، به RFC 5023 مراجعه کنید.
در حال بازیابی پست ها
بخشهای زیر نحوه بازیابی فهرستی از پستهای وبلاگ، با و بدون پارامترهای پرس و جو را شرح میدهند.
میتوانید بدون احراز هویت، فید عمومی Blogger را درخواست کنید. بنابراین، هنگام بازیابی پست های وبلاگ از یک وبلاگ عمومی، نیازی به تنظیم پارامتر مجوز ندارید.
بازیابی همه پست های وبلاگ
برای بازیابی پست های کاربر، یک درخواست HTTP GET
به آدرس اینترنتی فید وبلاگ ارسال کنید. Blogger سپس فید حاوی ورودی های وبلاگ مناسب را برمی گرداند. به عنوان مثال، برای دریافت لیستی از پست های وبلاگ برای liz@gmail.com، درخواست HTTP زیر را به Blogger ارسال کنید (البته با مقدار مناسب به جای blogID
):
GET http://www.blogger.com/feeds/blogID/posts/default
سپس Blogger یک کد وضعیت HTTP 200 OK
و یک فید استاندارد Atom 1.0 حاوی پستهای وبلاگ را برمیگرداند.
در زیر نمونه ای از فید برای یک وبلاگ با تنها یک پست است. توجه داشته باشید که ما این مثال را کمی ویرایش کرده ایم تا برای انسان خواناتر شود. به ویژه، یک فید واقعی بلاگر حاوی شناسهها و نشانیهای اینترنتی واقعی است.
<feed xmlns='http://www.w3.org/2005/Atom'> <id>tag:blogger.com,1999:blog-blogID</id> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/index.html'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator> <entry> <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'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></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> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry> </feed>
بازیابی پست ها با استفاده از پارامترهای پرس و جو
Blogger Data API به شما امکان میدهد مجموعهای از ورودیها را درخواست کنید که با معیارهای مشخص شده مطابقت دارند، مانند درخواست پستهای وبلاگ منتشر شده یا بهروزرسانی شده در یک محدوده تاریخ معین.
به عنوان مثال، برای ارسال یک جستجوی محدوده تاریخ، پارامترهای published-min
و published-max
به URL درخواست اضافه کنید. برای دریافت تمام ورودیهای وبلاگ ایجاد شده بین 16 مارس 2008 تا 24 مارس 2008، یک درخواست HTTP به آدرس اینترنتی فید وبلاگ ارسال کنید:
GET http://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
- دسته بندی ها (همچنین به عنوان برچسب شناخته می شود) را برای فیلتر کردن نتایج فید مشخص می کند. برای مثال،
http://www.blogger.com/feeds/ blogID /posts/default/-/Fritz/Laurie
ورودیهایی را با هر دو برچسبFritz
وLaurie
برمیگرداند. - حداکثر نتایج
- حداکثر تعداد ورودی برای بازگشت.
- با سفارش
- ترتیبی که برای بازگرداندن ورودیها، مانند
lastmodified
(پیشفرض)،starttime
، یاupdated
. - منتشر شده-دقیقه، منتشر شده-حداکثر
- محدوده تاریخ انتشار ورودی.
- شروع-شاخص
- ایندکس بر اساس 1 اولین نتیجه ای که بازیابی می شود (برای صفحه بندی).
- به روز شده-min، به روز-حداکثر
- محدودیت در تاریخ های به روز رسانی ورودی. این پارامترهای پرس و جو نادیده گرفته می شوند مگر اینکه پارامتر
orderby
رویupdated
تنظیم شود.
برای اطلاعات بیشتر در مورد پارامترهای پرس و جو، به راهنمای مرجع API داده Blogger و راهنمای مرجع Google Data APIs مراجعه کنید.
به روز رسانی پست ها
برای بهروزرسانی یک پست وبلاگ موجود، ابتدا ورودی مورد نظر برای بهروزرسانی را بازیابی میکنید، سپس آن را تغییر میدهید، و سپس یک درخواست PUT
را با ورودی بهروزرسانی شده در متن پیام، به URL ویرایش پست ارسال میکنید. مطمئن شوید که مقدار <id>
در PUT
شما دقیقاً با <id>
ورودی موجود مطابقت دارد.
URL ویرایش در ورودی زیر مشخص شده است:
<entry> <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'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></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 http://www.blogger.com/feeds/blogID/postID/comments/default
توجه : در حال حاضر، فقط میتوانید برای وبلاگی که متعلق به کاربر تأیید شده است، نظر ارسال کنید.
توجه : تنظیم یک نویسنده سفارشی برای نظرات در حال حاضر پشتیبانی نمی شود. همه نظرات جدید به گونه ای ظاهر می شوند که گویی توسط کاربر تأیید شده فعلی ایجاد شده اند.
بازیابی نظرات
میتوانید نظرات یک پست خاص را با ارسال یک GET
به آدرس اینترنتی فید نظرات این پست بازیابی کنید:
GET http://www.blogger.com/feeds/blogID/postID/comments/default
یا می توانید نظرات همه پست ها را با استفاده از URL خوراک نظرات وبلاگ دریافت کنید:
GET http://www.blogger.com/feeds/blogID/comments/default
این درخواستها یک فید نظرات را برمیگردانند که به شکل زیر است:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">My Blog : Time to relax</title> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/> <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://blogName.blogspot.com/feeds/postID/comments/default"/> <author> <name>Blog Author name</name> </author> <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <entry> <id>tag:blogger.com,1999:blog-blogID.post-commentID</id> <published>2007-04-04T21:56:00.000-07:00</published> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">This is my first comment</title> <content type="html">This is my first comment</content> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/> <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/> <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/> <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" ref="tag:blogger.com,1999:blog-blogID.post-postID" source="http://www.blogger.com/feeds/posts/default/blogID" type="text/html"/> <author> <name>Blog Author name</name> <email>blog_author@gmail.com</email> <uri>http://www.blogger.com/profile/userID</uri> </author> <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blogName.blogspot.com/2007/04/first-post.html' ref='tag:blogger.com,1999:blog-blogID.post-postID' source='http://blogName.blogspot.com/feeds/posts/default/postID' type='text/html' /> </entry> </feed>
حذف نظرات
برای حذف نظر، یک درخواست DELETE
را به URL ویرایش نظر ارسال کنید. این URL در فید نظرات بالا برجسته شده است.
فرمت صادرات
بلاگر به کاربران اجازه می دهد تا وبلاگ های خود را با استفاده از فایل صادراتی بلاگر صادر و وارد کنند. این فایل صادراتی شامل تمام پست ها و نظرات یک وبلاگ است. فرمت فایل صادراتی دقیقاً همان فرمت Atom است که در بخش های بازیابی پست ها و نظرات توضیح داده شده است. این فایل صادراتی حاوی محتویات فید پست و محتویات فید نظرات است که در یک سند ترکیب شده اند.
برای صادر کردن یا وارد کردن دادههای وبلاگ با استفاده از فرمت صادرات، میتوانید از صفحه تنظیمات وبلاگ دیدن کنید. برای بازیابی فایل صادراتی برای وبلاگ با استفاده از Data API، از URL زیر استفاده کنید:
GET http://www.blogger.com/feeds/blogID/archive
برای وارد کردن فایل صادراتی، یک درخواست POST
به آدرس زیر با محتوای فایل صادراتی به عنوان داده درخواست و application/atom+xml
به عنوان نوع محتوا ایجاد کنید:
POST http://www.blogger.com/feeds/blogID/archive/full
هیچ یک از نشانیهای وب برای پارامترهای پرس و جو پشتیبانی نمیکنند. هر دو درخواست همچنین باید حاوی اطلاعات احراز هویت باشند و فقط مدیران وبلاگ میتوانند وبلاگ را با استفاده از این نشانیهای اینترنتی فید وارد یا صادر کنند.
توجه : اگر در حال ایجاد فایل صادراتی بلاگر خود هستید، در حال حاضر یک محدودیت در مورد ترتیب پست و ورودی های نظر وجود دارد. فایل صادراتی بلاگر ابتدا همه پستها و سپس همه نظرات را فهرست میکند. تا زمانی که ورودی نظر بعد از پستی باشد که نظر برای آن است، درج کردن پست و نظر مجاز است.
برای اطلاعات بیشتر درباره نحوه استفاده Blogger از قالب Atom در فایل صادراتی، به راهنمای مرجع پروتکل مراجعه کنید.