FC2ブログ

Facebook アプリ作成

Facebook アプリをつくるべく
資料を探してきました

今回は
基礎から学ぶ facebookアプリ開発




基礎から学ぶ facebookアプリ開発





参考に Twitter4j を使ってタイムラインを表示しようとしたのですが
import するところでつまづきました

import twitter4j.http.AccessToken;
import twitter4j.http.RequestToken;
この2つがインポートできずかなり悩みました

最初は、
twitter4j-android-2.2.6-SNAPSHOT.zip(Android向けのスリムバージョン)
というスリムバージョンをダウンロードしたのが原因かと思ったのですが

実際には、バージョンの違いによる変更が原因でした

参考書に載っていたのが ver2.1.12
今回使用しているのは ver 2.2.6 でした

バージョン 2.1.x から 2.2.x への移行
にこのあたりの変更点が載っていました

バージョンアップに伴い
twitter4j.http.* は twitter4j.auth.* へ移動しました。
ということでした

このため、
import twitter4j.auth.RequestToken;
import twitter4j.auth.AccessToken;
とすることでエラーがなくなりました

ちなみに、これに気がついたのは、
以前サーバー構築していたときに、バージョン違いにより再現できなくなることが
あると教えていただいたことを思い出したためでした

リファレンス関連の書籍の場合、このバージョン違いで
使い物にならなくなってしまうことがあるため
ある程度はネットで対処する必要性がありそうです

テーマ : プログラミング
ジャンル : コンピュータ

twitter4j クライアントテスト その2メモ

twitter4jのテストをしていて
すこし失敗したので、そのときのメモです

書籍どおりに行っているはずが
twitter = factory.getInstance();
と変更するはずが
Twitter twitter = factory.getInstance();
となっていたため、Android JUnit test でエラーになりました

ちなみに、このテストを行うと、実際につぶやきが行われますが

連続でテストするとエラーになるようです
これは
Twitter は同じ内容の当校を2回連続で行うとエラーになるそうです
なので、2回めからのテストには、

try{
Status status = twitter.updateStatus("Twitter4j のテスト");
printStatus(status);


"Twitter4jのテスト"
のところを
"Twitter つぶやきテストその2"
というように変更する必要があります

テーマ : プログラミング
ジャンル : コンピュータ

Yahoo 地図の リファレンス

Yahoo 地図を使ったものを作るときに参考になる
リファレンスのリンクです

JavaScriptマップ

一番使いそうなのが

コントロールの追加になる
ymap.addControl(control);

の関連

例えば

地図の縮尺を変更する横長スライダー形式のユーザーインターフェースを表示
する
var control = new Y.SliderZoomControlHorizontal();
ymap.addControl(control);

とか

地図検索を追加する

var control = new Y.SearchControl();
ymap.addControl(control);

などなど

テーマ : プログラミング
ジャンル : コンピュータ

Gmail のセキュリティ強化と ipod touch

Gmail のアカウントのセキュリティ強化に伴い
認証コードを打つようになりました

ただし、これを行うと、さまざまな設定を行うという
面倒がでてきます

今回は、ipod touch での場合です

まず、設定を開き

次に
メール/連絡先/カレンダー

そして
Gmail > アカウントでアカウント確認画面を開き
パスワードを変更すれば再びログインできるようになります

ただ、このセキュリティ認証を行う場合、すべてのPC
端末に行う必要があるため
複数マシンをつかうには面倒になります

テーマ : PC周辺機器
ジャンル : コンピュータ

Yahoo Maps API

来年から、Google map の使用について、一部有料化されるため
代替として Yaho 地図を使うことにしました

今回、Ustream の講習で、このAPIを使った講習をしていただいたので、
その事前準備に
Yahoo 地図を使うための登録を行いました

参考サイトとしては
ゼロからはじめるYahoo! Maps API
も参考になります

事前準備として Yahoo ID が必要になります
私の場合、メールに Yahoo メールを使用していたので
アカウントはこれをそのまま使いました

まず
http://developer.yahoo.co.jp/webapi/map/
へアクセスして
アプリケーションIDの登録 をクリックします

すると、確認のためのログイン画面になるので、ここでパスワードを入力し
再度ログインします

次に、新しいアプリケーションの開発 をクリックし

今回は
認証を必要としないAPIを使ったアプリケーション
を選択しました

アプリケーション名は、なにか適当にわかりやすいものを取得

サイトURLには、ブログやサーバーなど、自分の使用する予定のURLを入れます

アプリケーションの説明には、
今回作成したアプリの概要を書いておきます

最後に 
ガイドラインに同意する にチェックをいれます
(というより、チェックいれないと使えません)

これで、アプリケーションIDが発行されます

テーマ : インターネットサービス
ジャンル : コンピュータ

PayPal アカウント取得しました

WebサービスAPIの講習があり、決済に PayPal アカウントで行うか
もしくはゲスト扱いで、クレジットカードの情報を入力するかを
選ぶことになったので、この際、アカウントを作成することにしました

PayPalのアカウント取得と簡単な利用方法、使い方
を参考に、アカウントを取得しました

ちなみに、PayPal API を用いることで
決済方法として express checkout というものが使えるようになります

まだ詳しい情報は調べている途中ですが、
PayPalの使い方 その2 - Express Checkout APIによる課金システムの実装 解説
に解説が載っていましたので、今後使えるようにスキルアップしていこうと思います

ちなみに、express checkout の説明に関しては
エクスプレス チェックアウト
に掲載されています

テーマ : インターネットサービス
ジャンル : コンピュータ

VMware Player と twitter API

twitter4j クライアントテスト
で実験したときと同じエラーがでたため
再検証しました

原因は、VMwarePlayer の仮想マシンでした

前回は、メールが届いていないのと、時刻合わせと両方しましたが
今回は、再起動と時刻合わせのみです

再起動すると問題が解決しましたので、ある程度の時刻がずれている場合
一度再起動したほうがよさそうです

テーマ : プログラミング
ジャンル : コンピュータ

いろいろとおもしろいネットでのイベント

プログラミングやサーバー構築など、さまざまな
スキルが求められるのですが、
個人でいろいろと独学でスキルを伸ばしたときに
なにか実感できるものがないかと思っていろいろと調べてみました

今回、興味深かったのが
Mash Up Awards
APIを組み合わせたりしてWEBアプリを作成します
賞金もでるようです
毎年行われているので、来年は参加できるようにスキルアップしていこうと思います

次に、こちらは22歳以下の学生が対象なのですが
セキュリティ&プログラミングキャンプ
セキュリティ関連に興味がある人にはよいかもしれません
ちなみに、私は年齢でアウトですが

そして、世界最大のハッカーの祭典「(DEF CON)デフコン」です
ちなみに、リンクはこちら
海外のサイトなので、オール英語です

調べるといろいろとでてきますので、また機会があったら掲載してみます

テーマ : プログラミング
ジャンル : コンピュータ

Twitter ボット作成 その2

Twitter ボット作成
で必要なキーを取得したら
次に、サーバー側の設定を行います

今回の実験環境は ubuntu 11.10 64bit です
sudo apt-get install ruby1.8 rdoc irb rubygems1.8 libopenssl-ruby
で必要なソフトをインストールします

次に
sudo gem install twitter
を実行

ただし、ubuntu11.10 の場合、 gem 実行時にファイルがエラーになるため
修正が必要です

sudo vim /var/lib/gems/1.8/specifications/faraday-0.7.5.gemspec
を実行し

s.date = %q{2011-10-04 00:00:00.000000000Z}

s.date = %q{2011-10-04]
というように時刻を修正します

また、
vim /var/lib/gems/1.8/specifications/twitter-2.0.1.gemspec
を実行し

s.date = %q{2011-12-02 00:00:00.000000000Z}

s.date = %q{2011-12-02}
というように習性をします

vim がないなら、
gedit などでもOKですが、readonly設定なので
sudo を使って管理者権限でないと変更ができません

次に、パスを通します
echo "export PATH=/var/lib/gems/1.8/bin:\$PATH" >> ~/.bashrc

ちゃんと最終行に書き込まれているかは
vim .bashrc
でshift+g
で最終行をみれば確認できます

ほかのtail コマンドなどでも確認はできますが

パスを十したら
source .bashrc
を実行し、設定を反映します
これを行わないと、反映されませんのでご注意

次に、Ruby スクリプト作成のためのディレクトリを
midir twitter
で作成し

ここで使うスクリプトは
今回の付録に付属しているため、これをそのまま使いました
ファイル名は sp_twitter.rb となっています

このファイルへ

Consumer key
onsumer secret
Access token
Access token secret

の値を書き込みます

#認証・認可情報
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
となっていますので

#認証・認可情報
CONSUMER_KEY = 'Consumer key の文字列'
CONSUMER_SECRET = 'onsumer secret の文字列'
OAUTH_TOKEN = 'Access tokenの文字列'
OAUTH_TOKEN_SECRET = 'Access token secretの文字列'

というように書き込んで行きます

ただし、読み込み専用のため、書き込むには
vim の場合、最後に
:w!
とする必要があります

テーマ : プログラミング
ジャンル : コンピュータ

PHPファイルの属性を調べる

PHP のメモです


ファイル属性判別には
ファイル判別関数を使います
-----------------------------------------------------
ファイル判別関数の使い方

論理値 =is_dir(パス)
ディレクトリかどうか判別

論理値=is_file(パス)
ファイルかどうか判別

論理値=is_link(パス)
シンボリックリンクかづか判別

論理値=is_readable(パス)
読み込み可能か判別

論理値=is_writable(パス)
書き込み可能か判別

論理値=is_executable(パス)
実行可能か判別

論理値=is_uploaded_file()
HTTPのPOST()でアップロード可能か判別

----------------------------------------------

ファイル判別関数です疎くするファイル情報は
PHP内部キャッシュされるので
最新のファイル情報を取得するには
clearstatcache() を使ってキャッシュを削除する必要があります

テーマ : プログラミング
ジャンル : コンピュータ

twitter4j クライアントテスト

twitter4j の Android アプリ作成の勉強をしています

JUnit Test をしたときに


junit.framework.AssertionFailedError
at com.sample.test.TwitterTest.testTwitter(TwitterTest.java:86)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

というエラーがでたため、VMware player の時刻合せをしたものの
エラーが治らないため
今度は、twitter のアカウントを確かめるため
twitter アカウントで再度ログイン

最初は、VMware の仮想マシンの時刻の問題、もしくは
twitter developers に登録したアプリの
Callback URL がダメなのかと思いましたが、ここではありませんでした

どうやらメールが届いていないというメッセージがでているので
再度プロフィールを確認

これでもまだエラーがでるため、再起動

なぜかこれで直りました

念のため、以前 作成したほうの Webアプリのサンプルのほうでも
実験してみましたが、問題なくコンパイルできました

次回、同じような現象がおきたら、もう一度探って見ようとおもいます

ちなみに、実行してエラーがない場合、タイムラインが
LogCat に表示されます

Screenshot-Ubuntu Android - VMware Player

テーマ : プログラミング
ジャンル : コンピュータ

Twitter ボット作成


日経Linux を参考に Twitter ボットをつくってみます

自分のアカウントでつくるより、サブアカウントを取得し
それをフォローしたほうがよさそうです

すでにアカウントを取得しているなら、別のメールアドレスを作成する
必要があります

twitter のアカウントは、メールアドレスと対になっているので
同じメールアドレスでは作成できません

この場合、Gmail などでもうひとつメールアドレスを取得する必要があります

このあたりについては
twitter サブアカウント取得
というように検索するとでてきます

サブアカウント取得ですが

まず
https://twitter.com/
へアクセスし
新しいアカウントを作成します

twitterアカウントの作成については
登録から基本的の使い方まで
を参考にするとわかりやすいと思います

アカウント作成したら
開発者向けサイトへアクセスします
http://dev.twitter.com/apps/

ログイン画面になるので、
IDとパスワードを入力し、ログインします

次に、create a new application をクリックし
登録作業を開始

Name にはアプリ名(ただし人とかぶらないもの)

Description には説明文

WebSite には ウェブサイト(ただし、適当でもOKらしい?)

を入力し、アプリを作成します

続いて、権限を変更したいので
setting タブをクリックして

Application Type を
Read only から read and Write にします

なぜか、2度行わないと設定が反映されていませんでした

ここまで終わったら、Detail タブをクリックして

下のほうにある
Create my access token をクリックし
Access token

Access token secret
を取得します



テーマ : プログラミング
ジャンル : コンピュータ

Yahoo! Pipes 実践編


まずは必要なパーツを作成

とりあえず、書籍どおりに
Fetch Site Feed を選んで
URlに
http://www.jiji.com/rss/ranking.rdf
を記述
これは時事ドットコムのRSSになる

--------------------------------------------------
次はRSS非対応のものを取り扱う

今回使用するのは 47NEWS

まず
Fecth Page を選び
http://www.47news.jp/AccessAnal/index.html
をURLに記述

ページ内の取得開始位置を
Cut content from のところへ記述
ランキング1位を示す 1: が始まりなので
今回は 1:

to のところへ
終了タグである

を記述

Split using delimiter には区切り文字を意味するので
<BR>タグを書きます

--------------------------------------------------
次に表示するアイテムを切り詰めたいので
Operators > Tuncale を選択して
10を入力することで、10ずつの表示になります

Screenshot-Ubuntu 64-bit - VMware Player-10


---------------------------------------------
このままだとアイテムの中身が
HTMLタグ と テキストが乱雑になっているので
記事タイトルとリンクを特定します

まず、
Operators > Regex

Options > Rename
で部品を追加します

Screenshot-Ubuntu 64-bit - VMware Player


Rename には
アイテムを別名でコピーできます

Mappings
のところをクリックすると、項目が増えます

項目には item.content として
Rename を Copy As へ変更 右側には title と入力します

もひとつ追加して
項目には item.content として
Rename を Copy As へ変更 右側には link と入力します

これで、title と link 以外の要素が排除できます

--------------------------------------------------------------
Rename モジュールの結果を受け取る Regex モジュールの設定
をします

regex モジュールは、正規表現による文字列の置換、検索ができます

今回は、タイトルの文字列の前後を取り除いた文字列に変換

これで RSS の最低限の要素であるタイトルとリンクをもつ
アイテムができあがりです

Screenshot-Ubuntu 64-bit - VMware Player-1


----------------------------------
これをUnion モジュールで追加します

書籍には載っていないのですが

Source > Fetch Feed で fetch Feed を作成し
http://www.jiji.com/rss/ranking.rdf
をURLに入力します

Screenshot-Ubuntu 64-bit - VMware Player-2


Union モジュールは
Operators > Union で追加できます

Union.png

これを Fetch Feed とRegex をくっつけると、下のほうに表示されるようになります

Screenshot-Ubuntu 64-bit - VMware Player-3



------------------------------------------
ここからさらに、情報をフィルタリングします

Operation > Filter でパーツを追加します

初期設定だと、条件式ですべてブロックしていますので
all のところを any に変更して
item.title Contain PR とすると

PRという文字列を含むものが排除されます

Screenshot-Ubuntu 64-bit - VMware Player-4


--------------------------------------------------
最後に Pipe Output にくっつけて完了です

全体図は、以下のようになります

Screenshot-Ubuntu 64-bit - VMware Player-5


いちおう、できたのですが、47news 関連の記事にアクセスできませんでした

もう少しいろいろと勉強する必要がありそうです

テーマ : インターネットサービス
ジャンル : コンピュータ

Pipes で RSS その2

Pipes で RSS
でアカウントの取得ができたので、
さっそく Pipes を使って行きます

http://pipes.yahoo.com/pipes/
へアクセスし

ログイン状態で
Create Pipe をクリックします

Screenshot-Ubuntu 64-bit - VMware Player-6

以下が、最初の画面の状態です

Screenshot-Ubuntu 64-bit - VMware Player-7

ドラッグ&ドロップ。もしくは +ボタンを押してパーツを組み立てて行きます

テーマ : Linux
ジャンル : コンピュータ

Yahoo!地図 SDK for Android を調べてます

Yahoo!地図 SDK for Android について情報収集しています

まだ、実験するために必要な情報を得ていないので
まずは必要な情報、そして参考になるサイトをみています

書籍をみると、ほとんどが Google Maps API になっているため
ネットで探すことにしました

Android Map SDK

Yahoo!地図 SDK for Android を使ってみました
などなど、検索すればいろいろとでてきそうです

テーマ : プログラミング
ジャンル : コンピュータ

PHP で カナ変換


PHPメモです

カンを全角カタカナや半角カタカナなどに変換するには
mb_convert_kana() を使います

mb_convert_kana() は
任意の文字列を特定の表記(全角カタカナ、半角カタカナなど)に変換する

変換オプションには
変換する文字の種類や変換方法を文字列で指定する

文字エンコードを指定することで
変換する文字列の文字エンコードも指定できる

文字エンコードを省略すると
mbstring.internal_encoding の設定値で処理される

---------------------------------------------------------
mb_convert_kana() の使い方

変換後文字列 = mb_convert_kana(文字列、変換オプション、文字列エンコード);
-----------------------------------------------------------
mb_convert_kana() のオプション

r
全角英字 > 半角英字

R
半角英字 > 全角英字

n
全角数字 > 半角数字

N
半角数字 > 全角数字

a
全角英数字 >半角英数字

A
半角英数字 > 全角英数字

s
全角スペース > 半角スペース

S
半角スペース > 全角スペース

k
全角カタカナ > 半角カタカナ

K
半角カタカナ ≫全角カタカナ

h
全角ひらがな > 半角カタカナ

H
半角カタカナ > 全角ひらがな

c
全角カタカナ ≫全角ひらがな

C
全角ひらがな > 全角カタカナ

V
濁点付きの文字を1文字に変換
これは K H のオプションと併用する
-----------------------------------------------------
使用例として

$string ="てすと";
echo "{$string} => mb_convert_kana($string,"C");

とすると
C は全角ひらがな を 全角カタカナにするため
$string が
てすと から テスト に変換される


テーマ : プログラミング
ジャンル : コンピュータ

Google Android WebAPIプログラミング入門
を参考に、twitter4j アプリ作成の勉強です

Android Twitter アプリ作成

Consumer key
Consumer secret
Access token URL
Callback URL
を取得し

Android Twitter アプリ作成 その2

twitter4j のダウンロードと解凍を行いました

今回はその続きになります

まず、最初に
AndroidManifest.xml へ
androdi.permission.INTERNET
を忘れないうちに追加しておきます

また、JUnitでテストするので
File > new > project で
Android Test Project を選択して

今回はプロジェクト名を Twitter4jTest

test target もじゃ
An existing Android project で Browse を選択して
作成したプロジェクトの tiwtter4j を選択します

あとは、Finish を押せば作成されます

こちらも libs ディレクトリを作成して
witter4j-core-android-2.2.6-SNAPSHOT.jar
を追加してビルドパスを追加します

今回は twitter4j の解析をしたいので
今回作成した JUnit test の方にも
AndroidManifest.xml へ
androdi.permission.INTERNET
を追加しておきます

ここまでで行えば、後は書籍どおりにできそうです

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック