Upload
tomohiko-okita
View
379
Download
1
Embed Size (px)
Citation preview
参考サイト• MetaArt
TwitPicへ投稿するiPhoneアプリが出来るまでhttp://iphone.moo.jp/app/?p=571
• 非常に参考になりましたありがとうございます
12年11月17日土曜日
申請とかしておいてね!
• TwitterにxAuthの申請をしてAPIキーなどを取得しておくhttps://dev.twitter.com/
• TwitPicに申請してAPIキーを取得しておくhttp://dev.twitpic.com/
12年11月17日土曜日
使う主なライブラリ• libXml
• XAuthTwitterEnginehttps://github.com/aral/XAuthTwitterEngine
• ASIHTTPRequesthttps://github.com/pokeb/asi-http-request
MetaArtさんがまとめて下さってますhttp://apphokuson.googlecode.com/files/
12年11月17日土曜日
TwitPic→Twitterポストするまでの流れ• AccessToken取得
• TwitPicにポスト
• レスポンスからTwitPicのURLを取得
• TwitPicのURLをTwitterにポスト
12年11月17日土曜日
Twitterへのポスト(1/1)
• XAuthTwitterEngineDemoViewController.h
ConsumerKeyConsumerSecretを定義する
12年11月17日土曜日
• 必要なフレームワークを追加CFNetwork.frameworkMobileCoreServices.frameworkSystemConfiguration.frameworklibxml2.dyliblibz.1.2.3.dylib
• libXmlのパスを追加(ヘッダ検索パス)${SDKROOT}/usr/include/libxml2
TwitPicへのポスト(2/7)
12年11月17日土曜日
• createOAuthEchoRequestuploadToTwitterByTwitPic2つのメソッドをコピペさせて頂く
• #import "ASIFormDataRequest.h"#import "OAMutableURLRequest.h"
TwitPicへのポスト(4/7)
12年11月17日土曜日
• uploadToTwitterByTwitPic の編集
jsonをxmlにする
TwitPicのキーを設定する削除
TwitPicへのポスト(5/7)
APIキーはhttp://dev.twitpic.com/apps/
で確認できる
12年11月17日土曜日
TwitPicのURLをTwitterにポストする
(1/3)
<?xml version="1.0" encoding="UTF-8"?><image> <id>XXXXXX</id> <text>Testing xAuth from the XAuthTwitterEngineDemo!</text> <url>http://twitpic.com/XXXXXX</url> <width>256</width> <height>256</height> <size>56123</size> <type>jpg</type> <timestamp>Fri, 29 Apr 2011 12:05:43 +0000</timestamp> <user> <id>123456789</id> <screen_name>tmokita</screen_name> </user></image>
• TwitPicからのレスポンス
12年11月17日土曜日
おまけメモ(1/3)
AccessTokenは一度取得すればOK
認証からポストまで一気にやろうとする場合にちょっとはまった点。TwitterEngine::exchangeAccessTokenForUsername
でアクセストークン取得出来るが、その値が返ってくるdelegate
メソッド、storeCachedTwitterXAuthAccessTokenString
これが呼ばれたときは、まだTwitterEngineのaccessTokenプロパティに値が入っていない。なので、ここからポストする場合は一旦performSelectorとかで抜けてからやる必要がある。
12年11月17日土曜日
XAuthTwitterEngineDelegateASIHTTPRequestDelegateを書いといておけばそれぞれのdelegateがくる TwitterEngine::sendUpdateの方は- (void)requestSucceeded:(NSString *)connectionIdentifier- (void)requestFailed:(NSString *)connectionIdentifier withError:(NSError *)errorが、ASIの方は-(void)requestFinished:(ASIHTTPRequest*)request-(void)requestFailed:(ASIHTTPRequest*)requestが、呼ばれる。
おまけメモ(2/3)
12年11月17日土曜日
おまけメモ(3/3)
なので、認証から一気にやる場合、1:TwitterEngine::exchangeAccessTokenForUsername2:TwitterEngine::storeCachedTwitterXAuthAccessTokenString (Delegate)3:2からperformSelectorとかで適当なメソッド呼ぶ4:uploadToTwitterByTwitPic (ブログのメソッド)
5:ASI::requestFinished (Delegate)6:TwitterEngine::sendUpdate7:TwitterEngine::requestSucceeded (Delegate)っていう感じになる。
12年11月17日土曜日