Twitter(日本語)サンプルプログラム mbedセミナー演習4
Dependencies: EthernetNetIf mbed HTTPClient_ToBeRemoved
TwitterExample.cpp@2:479eff49b94e, 2012-08-11 (annotated)
- Committer:
- jksoft
- Date:
- Sat Aug 11 14:39:55 2012 +0000
- Revision:
- 2:479eff49b94e
- Parent:
- 1:c884a3b078d4
- Child:
- 3:c4c63d3336f5
Rev2
Who changed what in which revision?
User | Revision | Line number | New 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 | 2:479eff49b94e | 47 | twitter.basicAuth("jksoft_mbed", "aaaaa"); //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 | } |