iPhone や Google Talk(Jabber)へ通知を送信できるサービス im.kayac.com を試してみました。 アクセスには http の POST かメールを用いるのですが、思っていたよりも手軽で特に難しいことはありませんでした。iPhone は使っていないのでやってみたのは Google Talk への通知だけです。
まず im.kayac.com のサイトでユーザー登録をすると自分用のアクセス URL が割り当てられます。Google Talk で api@im.kayac.com というアカウントをコンタクトに加えて自分用の認証コードをメッセージとして送るだけで認証は完了です。
メールを使う場合はアドレス宛てにメールを送るだけですので省略します。POST でのアクセスは Python の場合は以下のように書けば OK でした。
Python 3 の場合は urllib.request を、Python 2 の場合は urllib, urllib2 を使います。
Python 3.x
#!/usr/bin/env python
#-*- coding: utf-8; -*-
import urllib.request
def push_to_im(content):
"""arg: text
send POST data to im.kayac.com"""
post_url = 'http://im.kayac.com/api/post/YOUR_USERNAME'
post_data = {
'message': content,
'password': 'YOUR_PASSWORD'
}
encoded_data = urllib.parse.urlencode(post_data).encode(encoding='ascii')
urllib.request.urlopen(url=post_url, data=encoded_data)
text = 'Hello World!'
push_to_im(text)
Python 2.x
#!/usr/bin/env python
#-*- coding: utf-8; -*-
import urllib
import urllib2
def push_to_im(content):
"""arg: text
send POST data to im.kayac.com"""
post_url = 'http://im.kayac.com/api/post/YOUR_USERNAME'
post_data = {
'message': content,
'password': 'YOUR_PASSWORD'
}
encoded_data = urllib.urlencode(post_data)
req = urllib2.Request(post_url, encoded_data)
urllib2.urlopen(req)
text = 'Hello World!'
push_to_im(text)
社内で使うためのちょっとしたツールなどにも便利に使えそうですね。私もやりたかったことがこれで実現できそうです。