fc2ブログ
プロフィール

KimZo

Author:KimZo
最近Laszloを知ってハマりそうな予感。
AjaxとFlashを同じソースで切り換えられたら無敵じゃないの?と考える横浜市青葉区の住人。

以下運営

ウサギ公開中。

ウサギ公開中。

Pebbleブログ[アタマノオト]

Laszloブログ[Laszlog]


最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
商品無料仕入れ戦隊『電脳卸』
PHPからFC2ブログに投稿[XML-RPC,PHP]
XML-RPCを用いて、PHPからFC2ブログに投稿する。
こんな感じでいけた。
これで色々出来そう。

<?php
require_once("XML/RPC.php"); //XML-RPC package 読み込み
$GLOBALS['XML_RPC_defencoding'] = "UTF-8";

//XML-RPCインタフェース、ユーザ定義
$fc2_host = "blog.fc2.com";
$fc2_xmlrpc_path = "/xmlrpc.php";
$fc2_user = "ここにID";
$fc2_passwd = "ここにパスワード";

$bm = new BlogManager();
$bm->post_blog("PHPから投稿テスト3-Title","PHPから投稿テスト3-Dsescription <br/>改行コード埋め込み \n なんかいけてそう");

class BlogManager {
    function post_blog($title,$content){
        global $fc2_xmlrpc_path,$fc2_host,$fc2_user,$fc2_passwd;
        //クライアントの作成
        echo "クライアント作成<br\n>";
        $c = new XML_RPC_client( $fc2_xmlrpc_path, $fc2_host, 80 );
       
        //送信データ
        $blogid = new XML_RPC_Value( 0, 'string');
        $username = new XML_RPC_Value($fc2_user, 'string');
        $passwd = new XML_RPC_Value($fc2_passwd, 'string');
        $content = new XML_RPC_Value(array(
        'title'=> new XML_RPC_Value($title, 'string'),
        'description'=> new XML_RPC_Value($content, 'string'),
        'dateCreated'=> new XML_RPC_Value(date("Ymd\TH:i:s",time()), 'dateTime.iso8601')
        ), 'struct');
        $publish = new XML_RPC_Value( 1, 'boolean');
        //XML-RPCメソッドのセット
        $message = new XML_RPC_Message(
        'metaWeblog.newPost',
        array($blogid, $username, $passwd, $content, $publish) );
       
        $this->send_message($c,$message);
       
    }
   
    function get_users_blogs(){
        global $fc2_xmlrpc_path,$fc2_host,$fc2_user,$fc2_passwd;
        //クライアントの作成
        echo "クライアント作成<br\n>";
        $c = new XML_RPC_client( $fc2_xmlrpc_path, $fc2_host, 80 );
        $appkey = new XML_RPC_Value( '', 'string' );
        $username = new XML_RPC_Value( $fc2_user, 'string' );
        $passwd = new XML_RPC_Value( $fc2_passwd, 'string' );
       
        //メッセージ作成
        echo "メッセージ作成<br\n>";
        $message = new XML_RPC_Message(    "blogger.getUsersBlogs",array($appkey, $username, $passwd) );
       
        send_message($c,$message);
    }
   
    function send_message($c,$message){
        //print_r($c);
        //print_r($message);
        //メッセージ送信
        echo "メッセージ送信<br\n>";
        $result = $c->send($message);
       
        if( !$result ){
             exit('Could not connect to the server.');
        }else if( $result->faultCode() ){
             exit('XML-RPC fault ('.$result->faultCode().'): '
                 .$result->faultString());
        }
       
        $blogs = array_map( 'array_convEnc', XML_RPC_decode( $result->value() ) );
        echo "<pre>";
        //print_r($blogs);
        echo "</pre>";
       
        return $result;
    }
   
    function array_convEnc($a){
         if( is_array($a) ){ return array_map( 'array_convEnc', $a ); }
         return mb_convert_encoding(
             $a, mb_internal_encoding(),
             $GLOBALS['XML_RPC_defencoding'] );
    }
}
?>



未分類 | 2006/05/25(木) 12:11 | Trackback:(1) | Comments:(3)
このコメントは管理者の承認待ちです
2008/08/25 月 06:52:44 | | #編集
このコメントは管理者の承認待ちです
2009/07/16 木 12:30:54 | | #編集
このコメントは管理者の承認待ちです
2010/11/04 木 09:16:22 | | #編集
コメントの投稿
管理者にだけ表示を許可する

管理人の承認後に表示されます
2009/11/02 Mon 13:56:06 |