Twitter(日本語)サンプルプログラム mbedセミナー演習4

Dependencies:   EthernetNetIf mbed HTTPClient_ToBeRemoved

Committer:
jksoft
Date:
Sat Aug 11 14:43:36 2012 +0000
Revision:
3:c4c63d3336f5
Parent:
2:479eff49b94e
Rev2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:e3ae5f5401db 1 /*
jksoft 0:e3ae5f5401db 2 Update: 21-06-2010
jksoft 0:e3ae5f5401db 3 The basic authentication service for twitter is going down at the end of the week.
jksoft 0:e3ae5f5401db 4 To continue using that program, the code has been updated to use http://supertweet.net which acts as an API proxy.
jksoft 0:e3ae5f5401db 5 Simply visit the website to setup your twitter account for this API.
jksoft 0:e3ae5f5401db 6 See: http://www.supertweet.net/about/documentation
jksoft 0:e3ae5f5401db 7 */
jksoft 0:e3ae5f5401db 8
jksoft 0:e3ae5f5401db 9 #include "mbed.h"
jksoft 0:e3ae5f5401db 10 #include "EthernetNetIf.h"
jksoft 0:e3ae5f5401db 11 #include "HTTPClient.h"
jksoft 0:e3ae5f5401db 12
jksoft 0:e3ae5f5401db 13 EthernetNetIf eth;
jksoft 0:e3ae5f5401db 14
jksoft 0:e3ae5f5401db 15 int main() {
jksoft 0:e3ae5f5401db 16
jksoft 0:e3ae5f5401db 17 printf("Init\n");
jksoft 0:e3ae5f5401db 18
jksoft 0:e3ae5f5401db 19 printf("\r\nSetting up...\r\n");
jksoft 0:e3ae5f5401db 20 EthernetErr ethErr = eth.setup();
jksoft 0:e3ae5f5401db 21 if(ethErr)
jksoft 0:e3ae5f5401db 22 {
jksoft 0:e3ae5f5401db 23 printf("Error %d in setup.\n", ethErr);
jksoft 0:e3ae5f5401db 24 return -1;
jksoft 0:e3ae5f5401db 25 }
jksoft 0:e3ae5f5401db 26 printf("\r\nSetup OK\r\n");
jksoft 0:e3ae5f5401db 27
jksoft 0:e3ae5f5401db 28 LocalFileSystem local( "local" );
jksoft 0:e3ae5f5401db 29 char s[ 256 ];
jksoft 0:e3ae5f5401db 30 FILE *fp;
jksoft 0:e3ae5f5401db 31
jksoft 0:e3ae5f5401db 32 printf( "\r\nreading a message file.\r\n" );
jksoft 0:e3ae5f5401db 33
jksoft 0:e3ae5f5401db 34 if ( NULL == (fp = fopen( "/local/tweet.txt", "r" )) ) {
jksoft 0:e3ae5f5401db 35 printf( "\r\nError: The message file cannot be accessed\r\n" );
jksoft 0:e3ae5f5401db 36 return -1;
jksoft 0:e3ae5f5401db 37 }
jksoft 0:e3ae5f5401db 38
jksoft 0:e3ae5f5401db 39 fgets( s, 256, fp );
jksoft 0:e3ae5f5401db 40 fclose( fp );
jksoft 0:e3ae5f5401db 41
jksoft 0:e3ae5f5401db 42 HTTPClient twitter;
jksoft 0:e3ae5f5401db 43
jksoft 0:e3ae5f5401db 44 HTTPMap msg;
jksoft 0:e3ae5f5401db 45 msg["status"] = s; //A good example of Key/Value pair use with Web APIs
jksoft 0:e3ae5f5401db 46
jksoft 3:c4c63d3336f5 47 twitter.basicAuth("id", "pass"); //We use basic authentication, replace with you account's parameters
jksoft 0:e3ae5f5401db 48
jksoft 0:e3ae5f5401db 49 //No need to retieve data sent back by the server
jksoft 0:e3ae5f5401db 50 HTTPResult r = twitter.post("http://api.supertweet.net/1/statuses/update.xml", msg, NULL);
jksoft 0:e3ae5f5401db 51 if( r == HTTP_OK )
jksoft 0:e3ae5f5401db 52 {
jksoft 0:e3ae5f5401db 53 printf("Tweet sent with success!\n");
jksoft 0:e3ae5f5401db 54 }
jksoft 0:e3ae5f5401db 55 else
jksoft 0:e3ae5f5401db 56 {
jksoft 0:e3ae5f5401db 57 printf("Problem during tweeting, return code %d\n", r);
jksoft 0:e3ae5f5401db 58 }
jksoft 0:e3ae5f5401db 59
jksoft 0:e3ae5f5401db 60 return 0;
jksoft 0:e3ae5f5401db 61
jksoft 0:e3ae5f5401db 62 }