Blog Posting with XML-RPC

สำหรับคนที่ทำ SEO หลายคนคงเคยทำ network ส่วนตัวกันมาบ้างพอสมควร ไม่ว่าจะใช้ networks เหล่านั้นเป็นสะเหมือน web farm ที่จะสร้างลิงค์มายังเวปเป้าหมายหรือแม้กระทั่งจัดการเวปเป้าหมายโดยตรง แต่การจัดการ network/blogs เหล่านั้นมีความยุ่งยากและใช้เวลามากพอสมควร หลายคนจึงเลือกที่จะเสียเงินซื้อ tools ต่างๆมาใช้ เช่นพวก BMG, scrapbox ต่างๆ ซึ่งผมก็ไม่รู้ว่ามันมีข้อดีข้อเสียอย่างไรเพราะไม่เคยใช้ tool ที่ผมใช้ในการจัดการ network/blogs เหล่านั้น เขียนขึ้นมาเอง โดยเป็นการทำงานผ่าน protocol XML-RPC ซึ่งถ้า blogs เหล่านั้น enable XML-RPC ก็จะสามารถจัดการ blogs ได้ผ่าน protocol XML-RPC

วันนี้ผมเลยอยากเอาโค้ดมาแปะไว้กันลืมและเผื่อผู้ที่สนใจบ้างสักหน่อย การทำงานของโค้ดก็ตรงไปตรงมา ผมจะไม่ขออธิบายอะไรมากนัก ก่อนอื่นต้องโหลด include file ตัวนี้ก่อนโค้ดถึงจะทำงานได้นะครับ IXR_Library.inc

[source language=”PHP”]
require_once("IXR_Library.inc");

$id = $_POST["id"];
$title = $_POST["title"];
$body = $_POST["body"];
$category = $_POST["$category"];
$tags = $_POST["tags"];
$blogURL = $_POST[‘BlogURL’];

// set it to false in Production Environment
$client->debug = false;

// encode needed
$title = htmlentities($title , ENT_NOQUOTES, "UTF-8");
$tags = htmlentities($tags ,ENT_NOQUOTES, "UTF-8");

$content = array(‘title’=>$title,
‘description’=>$body,
‘mt_allow_comments’=>0, // 1 to allow comments
‘mt_allow_pings’=>0, // 1 to allow trackbacks
‘post_type’=>’post’,
‘mt_keywords’=>$tags,
‘categories’=>array($category),
‘custom_fields’ =>  array($customfields));

// create the client object
$client = new IXR_Client($blogURL . "xmlrpc.php");
$username = $_POST[‘Username’];
$password = $_POST[‘Passwd’];

// last parameter is ‘true’ which means post immideately, to save as draft set it as ‘false’
$params = array(0,$username,$password,$content,true);

// run a query for PHP
if (!$client->query(‘metaWeblog.newPost’, $params)) {
die(‘An error occurred – ‘.$client->getErrorCode().": ".$client->getErrorMessage());
} else {
// post blog success
// do what ever you want here
}
[/source]

2 thoughts on “Blog Posting with XML-RPC

  1. ขอบคุณมากนะครับ ^^ เก็บไว้เป็นความรู้ กำลังสนใจเรื่องพวกนี้อยู่พอดี

Leave a Reply

Your email address will not be published.