2016.01.30 Sat
第1回WordBench山口
Googleカレンダーの
情報をプログラムで
WordPressに
投稿してみた
お約束
この発表は個人的な物で
仕事や所属等は全然関係ありません。
誤記や間違い等あればご指摘頂けると
助かります。
@takatayoshitake
自己紹介
@takatayoshitake
広島を中心に勉強会に出没。
オープンソースカンファレンス広島の
お手伝いやいろんな勉強会でUstとか
やってます。(今日はやっていません)
広島サーバユーザ友の会(仮称)や
日本CloudStackユーザ会 広島支部等も
一応やってるみたい。
・・・何もできてませんが(汗
OSC広島の公式キャラクター
「あきちゃん」
http://j.mp/osc14hiaki
広島IT勉強会カレンダー(仮)の更新もしてます。
発表に入る前に
会場のみなさんに質問
WordPressの画面以外から
プログラム等を使って自動で
記事を投稿した事が?
A. ある
B. ない
全員やったことがあったら
終了
一人でもやった事が無い方が居られたら続ける
WordPressに
プログラムで投稿しようと
思ったきっかけ
広島でIT勉強会カレンダーの編集をやってます。
カレンダー更新通知
カレンダー更新したら情報が
わかるようにして欲しい
↓
Twitterで呟くようにしました
去年の発表
2015/01/10 LT駆動開発
広島IT勉強会カレンダー(仮)と
自動Tweetについて
対応後
TwitterとかSNSは
会社からはフィルタが
かかってて見れない
↓
Web(WordPress)へ
投稿する様に試してみた
プログラムからの投稿方法
XML-RPC WordPress API Codex
Google検索
「wordpress xmlrpc ruby」
RubyからWordpressに投稿・削除・表示
1 #!/usr/bin/ruby
2 # coding: utf-8
3
4 require 'time'
5 require 'xmlrpc/client'
6
7 def post(title , description)
8 user = '(ユーザ名)'
9 pass = '(パスワード)'
10 post = 'post'
11 date = Time.now
12 publish = 1 #0:下書き,1:公開
13
14 server = XMLRPC::Client.new('(URL)', '/xmlrpc.php')
15
1/3
Ruby コード例
16 struct = {
17 'title' => title,
18 'categories' => ['(カテゴリ)'],
19 'description' => description,
20 'dateCreated' => date
21 }
22
23 id = server.call("metaWeblog.newPost",1,user,pass,struct,publish)
24 puts "Posted ID: #{id}"
25
26 id = server.call("blogger.getRecentPosts", "", "", user, pass)
27 puts "#{id}"
28 end
29
2/3
30 for line in STDIN
31 cols = line.chomp.split(/\t/)
32
33 title = cols[0].split(/ /)[0] << " " << cols[2]
34
35 description = <<"EOS"
36 開始 #{cols[0]}
37 終了 #{cols[1]}
38 場所 #{cols[3]}
39 URL <a href="#{cols[4]}">#{cols[4]}</a>
40 EOS
41
42 print title,"\n"
43 print description,"\n"
44
45 post(title , description)
46
47 end
3/3
セキュリティ設定
.htaccess 設定例
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from (接続元のグローバルIPアドレス)
</Files>
実行例
広島IT勉強会カレンダー(仮)
WordPress版
※URLは暫定のため変更となる可能性あり
せっかく山口に来たので
山口IT勉強会カレンダー(仮)
も作成してみました
Google検索
「wordpress マルチサイト サブドメイン」
複数サイト運用方法(サブドメイン型)
山口IT勉強会カレンダー(仮)
まだまだ情報が少ないので
ぜひ教えてください。
一緒に共同編集頂ける方募集中
まとめ
・WordPressはXMLRPCを使ってプログラムで投稿することができます。
・定型的な投稿は自動化して楽しよう!
・複数のサイトを一台のサーバで用意する事が出来ます。
おしらせ
第13回 中国地方DB勉強会 in 山口
開始 2016-02-27 13:00
終了 2016-02-27 17:00
場所 山口市小郡黄金町7-4山本ビル 6F
GoogleカレンダーからプログラムでWordPressに投稿してみた
By Yoshitake Takata
GoogleカレンダーからプログラムでWordPressに投稿してみた
2016-01-30(土) 13:00~16:00 第1回WordBench山口 https://wbyamaguchi.doorkeeper.jp/events/34638
- 1,798