DSからtwitterに投稿するには(5)
いままで作ってきたプログラムを使って、twitterに投稿するプログラムを作ったので紹介します。
int twitterPost( char *text, char *id, char *passwd );
textの内容をtwitterにポストします。idはIDをpasswdはパスワードを入力します。idとパスワードが長いとbasicAuth[64]を大きくする必要があります。twitter.comから返って来るファイルはtwitter.xmlに保存します。このプログラムでtwitterに投稿できました。
//************************************************** // twitterに投稿します // text:投稿内容, id:twitterのID, passwd:パスワード // 戻り値: 1:成功 //************************************************** int twitterPost( char *text, char *id, char *passwd ) { FILE *fpd = NULL; char *xmlfilename = "twitter.xml"; int ret = true; char basicAuth[64]; char tweet[512]; char *cptmp; HttpFileGetIni(); //http取得パラメータの初期化 Wifi_EnableWifi(); //wifiを開始 if( !DS_WifiAutoConnect() ){ //APに自動接続 ShinoUpPrint( SubScreenA, (u8 *)"Wifiアクセスポイントに接続できませんでした", RGB(31,0,0),RGB(0,0,0), 1,RGB(0,0,0) ); return( WIFI_AP_CONNECT_ERROR ); } HttpHeader.Host = "twitter.com"; HttpHeader.UserAgent = "Nintendo DS"; HttpHeader.Referer = "http://twitter.com/"; //*** Basic認証コードの生成 *** strcpy( tweet, id ); //tweet[]を使いまわしています。すいません。 strcat( tweet, ":" ); strcat( tweet, passwd ); strcpy( basicAuth, "Basic " ); cptmp = basicAuth; cptmp += 6; EncodeBase64( tweet, cptmp, strlen( tweet ) ); HttpHeader.Authorization = basicAuth; //*** 投稿データの生成 *** strcpy( tweet, "/statuses/update.xml?status=" ); cptmp = tweet; cptmp += 28; moji216( (unsigned char*)text, cptmp, 512 ); HttpHeader.Post = tweet; ShinoUpPrintBox( MainScreenA, (u8*)text, 42, RGB(31,31,31), RGB(0,0,0), 1, RGB(0,0,0) ); //ShinoUpPrintBox( MainScreenA, (u8*)HttpHeader.Authorization, 42, RGB(31,31,31), RGB(0,0,0), 1, RGB(0,0,0) ); fpd = fpOpen( "", xmlfilename, 1 ); if( fpd==NULL ){ ShinoUpPrint( SubScreenA, (u8 *)xmlfilename, RGB(31,0,0),RGB(0,0,0), 1,RGB(0,0,0) ); ShinoUpPrint( SubScreenA, (u8 *)"↑ fopen Error", RGB(31,0,0),RGB(0,0,0), 1,RGB(0,0,0) ); Wifi_DisconnectAP(); //APから切断 Wifi_DisableWifi(); //wifi停止 return( false ); } ret = HttpPost( fpd, NULL, "twitter.com" ); fclose( fpd ); Wifi_DisconnectAP(); //APから切断 Wifi_DisableWifi(); //wifi停止 return( ret ); }
ソフトキーボードを使って、DSで文字入力してtwitterに投稿しようとプログラムを作ったのですが、文字コード体系をUTF-8に変更したので、ソフトキーボードのプログラムがまともに動きませんでした。大改造する必要があります。
風邪気味なので、今日はこの辺で・・・。
本当にやりたいことリスト
(ブログの終わりにやりたいことを書いておきたいと思います)
- 求職活動・・・このブログで興味を持った人一声かけてください。m(_ _)m
- Androidプログラム
- Web系のプログラム