まるむしアンテナ

自作に改造、修理、メンテナンス...とりあえずなんでも自分でやってみよう!

By

WordPressに記事を自動投稿するPHPプログラムを投稿日指定に書き換えてみた

以前、WordPressに自動で記事を投稿するPHPプログラム を書いてみた。
のだが旧記事を旧日付で再投稿する必要性が出てきた。
そこで、WordPressに記事を自動投稿するPHPプログラムを投稿日指定に書き換えてみた。
Read More

By

WordPressに自動で記事を投稿するPHPプログラム を書いてみた

WordPressに自動で記事を投稿するPHPプログラム を書いてみた。
先日FC2ブログに自動投稿するプログラムを書いたが、そのまま転用してWordpressに使えるかテストしてみたところ問題なく投稿できた。
せっかくなので公開しておきます。
基本的にはFC2用と同じですが、コメント等を若干書き換えてます。
ベースはこちらの記事を参照
FC2ブログに自動で記事を投稿するPHPプログラム 書いてみた。
コードだらけで見にくいですが、変更箇所のコメントがある変数の値を書き換えるだけです。
簡単に説明すると
ドメイン:http://marumusi.yahoo.com
WordPressディレクトリ:http://marumusi.yahoo.com/wp
WordPressユーザー名:admin
WordPressパスワード:password

だとすると
$wp_host = “marumusi.yahoo.com”;
$wp_xmlrpc_path = “/wp/xmlrpc.php”;
$wp_user = “admin”;
$wp_passwd = “password”;

となります。
ブロブ自動投稿プログラム
—ここから———————————–
<?php
require_once(“XML/RPC.php”); //XML-RPC package
$GLOBALS[‘XML_RPC_defencoding’] = “UTF-8”;
//WordPress用定義情報
$wp_blogid = “”;
// //////////////////////////////
// 変更箇所
// //////////////////////////////
//Wordpressが導入されているドメインを記入
$wp_host = “marumusi.yahoo.com”;
//Wordpressのディレクトリ配下のxmlrpc.phpを記入
$wp_xmlrpc_path = “/wp/xmlrpc.php”;
//ブログのログインIDを記入
$wp_user = “admin”;
//ブログのログインパスワードを記入
$wp_passwd = “password”;
//記事情報
//投稿モード(0:下書記事、1:公開記事)
$kiji_mode = 0;
//記事のタイトル
$kiji_title = “WordPressに自動で記事を投稿するPHPプログラム のテスト記事(タイトル)”;
//記事の本文
$kiji_honbun = “WordPressに自動で記事を投稿するPHPプログラム のテスト記事(本文)<br /><br />
このサンプルプログラムの詳細は、<a href=\”http://antenna.infomixer.net/”>まるむしアンテナ</a>のブログにて。<br />”;
// //////////////////////////////
//以下固定
$bm = new BlogManager();
$bm->post_blog($kiji_mode,$kiji_title,$kiji_honbun);
class BlogManager {
function post_blog($kiji_mode,$kiji_title,$kiji_honbun){
global $fc2_xmlrpc_path,$fc2_host,$fc2_user,$fc2_passwd;
//クライアントの作成
echo “クライアント作成
“;
$c = new XML_RPC_client( $fc2_xmlrpc_path, $fc2_host, 80 );
//送信データ
$blogid = new XML_RPC_Value($fc2_blogid, ‘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($kiji_title, ‘string’),
‘description’=> new XML_RPC_Value($kiji_honbun, ‘string’),
‘dateCreated’=> new XML_RPC_Value(date(“Ymd\TH:i:s”,time()), ‘dateTime.iso8601’)
), ‘struct’);
$publish = new XML_RPC_Value($kiji_mode, ‘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 “クライアント作成
“;
$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 “メッセージ作成
“;
$message = new XML_RPC_Message( “blogger.getUsersBlogs”,array($appkey, $username, $passwd) );
send_message($c,$message);
}
function send_message($c,$message){
//メッセージ送信
echo “メッセージ送信
“;
$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());
}
return $result ;
}
}
?>
—ここまで———————————–
もしかするとブログにペーストした時に文字化けしている箇所があるかもしれませんので、
サンプルプログラムをファイルでアップしておきます。

Read More

By

FC2ブログに自動で記事を投稿するPHPプログラム 書いてみた。

FC2ブログに自動で記事を投稿するPHPプログラム 書いてみた。
ブログに外部プログラムから投稿するには、XML-RPC というインタフェースを使ってphpで….
って頭が痛くなりそうなので難しい話は自力で調べてください。^^;
キーワードは、php xml-rpc XML/RPC.php xmlrpc.php などで検索すればいいかも。
仕組みを知りたい方はとりあえずこちらでも
http://mikilab.doshisha.ac.jp/dia/research/report/2005/0813/007/report20050813007.html
さて、テストしたプログラムですが正常に投稿できているようなので公開します。
このサンプルプログラムをベースにすれば後は簡単だな。v(^^
ちなみにこちらのサイトを参考にさせていただきました。
http://atamanote.blog48.fc2.com/blog-entry-47.html
よく似たコードがネット上のあちこちにあるのでいろいろ見て参考にするといいかもです。
コードだらけで見にくいですが、ログイン情報と投稿する記事を書き換えるだけです。
ブロブ自動投稿プログラム
—ここから———————————–
<?php
require_once(“XML/RPC.php”); //XML-RPC package
$GLOBALS[‘XML_RPC_defencoding’] = “UTF-8”;
//FC2用定義情報
$fc2_blogid = “0”;
$fc2_host = “blog.fc2.com”;
$fc2_xmlrpc_path = “/xmlrpc.php”;
// //////////////////////////////
// 変更箇所
// //////////////////////////////
//ブログのログインID(メールアドレス)を記入
$fc2_user = “mail@address.xxx”;
//ブログのログインパスワードを記入
$fc2_passwd = “password”;
//記事情報
//投稿モード(0:下書記事、1:公開記事)
$kiji_mode = 1;
//記事のタイトル
$kiji_title = “FC2ブログに自動で記事を投稿するPHPプログラム のテスト記事(タイトル)”;
//記事の本文
$kiji_honbun = “FC2ブログに自動で記事を投稿するPHPプログラム のテスト記事(本文)<br /><br />
このサンプルプログラムの詳細は、<a href=\”http://antenna.infomixer.net/”>まるむしアンテナ</a>のブログにて。<br />”;
// //////////////////////////////
//以下固定
$bm = new BlogManager();
$bm->post_blog($kiji_mode,$kiji_title,$kiji_honbun);
class BlogManager {
function post_blog($kiji_mode,$kiji_title,$kiji_honbun){
global $fc2_xmlrpc_path,$fc2_host,$fc2_user,$fc2_passwd;
//クライアントの作成
echo “クライアント作成
“;
$c = new XML_RPC_client( $fc2_xmlrpc_path, $fc2_host, 80 );
//送信データ
$blogid = new XML_RPC_Value($fc2_blogid, ‘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($kiji_title, ‘string’),
‘description’=> new XML_RPC_Value($kiji_honbun, ‘string’),
‘dateCreated’=> new XML_RPC_Value(date(“Ymd\TH:i:s”,time()), ‘dateTime.iso8601’)
), ‘struct’);
$publish = new XML_RPC_Value($kiji_mode, ‘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 “クライアント作成
“;
$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 “メッセージ作成
“;
$message = new XML_RPC_Message( “blogger.getUsersBlogs”,array($appkey, $username, $passwd) );
send_message($c,$message);
}
function send_message($c,$message){
//メッセージ送信
echo “メッセージ送信
“;
$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());
}
return $result ;
}
}
?>
—ここまで———————————–
もしかするとブログにペーストした時に文字化けしている箇所があるかもしれませんので、
サンプルプログラムをファイルでアップしておきます。

Read More

By

FC2ブログに自動で記事を投稿するPHPプログラム のテスト記事(タイトル)

FC2ブログに自動で記事を投稿するPHPプログラム のテスト記事(本文)

このサンプルプログラムの詳細は、まるむしアンテナのブログにて。

By

FC2ブログへの自動投稿をテストしてみる

ブログへの投稿はログインして行っているが、
システム的に投稿可能な仕組みが用意されているのでちょっとテストしてます。