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
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
}
Related posts:
- XML-RPC XML-RPC เป็นสิ่งที่วนเวียนอยู่ในการทำงานในช่วงสองเดือนที่ผ่านมา สำหรับการเขียนโปรแกรมเลียนแบบ scrapbox เนื่องจากไม่อยากเสียตังค์ซื้อ(งก)! และอยากได้โปรแกรมที่ตอบสนองการทำงานของตัวเองโดยสมบรูณ์มากกว่า XML-RPC เป็นวิธีการหนึ่ง (ไม่เชิงที่จะเรียกว่า protocol?)...
June 27th, 2011 - 14:08
ขอบคุณมากนะครับ ^^ เก็บไว้เป็นความรู้ กำลังสนใจเรื่องพวกนี้อยู่พอดี
January 10th, 2012 - 03:57
ขอบคุณครับสำหรับความรู้ดี ๆ