Created
May 20, 2014 13:37
-
-
Save nvasilakis/88489c167ed634df06ad to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using Rest; | |
| public class SimpleTweet { | |
| private static const string CONSUMER_KEY = "#######################"; // this comes from your app's twitter account page | |
| private static const string CONSUMER_SECRET = "########################################"; // this comes from your app's twitter account | |
| private static const string URL_FORMAT = "https://api.twitter.com"; | |
| private static const string REQUEST_TOKEN_URL = "https://api.twitter.com/oauth/request_token"; | |
| private static const string FUNCTION_ACCESS_TOKEN = "oauth/access_token"; | |
| private static const string FUNCTION_STATUSES_UPDATE = "1/statuses/update.xml"; | |
| private static const string PARAM_STATUS = "status"; | |
| public static int main(string[] args) { | |
| // make sure there is a message to tweet | |
| if(args[1] == null || args[1] == "") { | |
| stdout.printf("No tweet message specified.\n"); | |
| return 0; | |
| } | |
| /** Authenticating with Twitter */ | |
| // initialize proxy | |
| var proxy = new OAuthProxy(CONSUMER_KEY, CONSUMER_SECRET, URL_FORMAT, false); | |
| // request token | |
| try { | |
| proxy.request_token("oauth/request_token", "oob"); | |
| } catch (Error e) { | |
| stderr.printf("Couldn't get request token: %s\n", e.message); | |
| return 1; | |
| } | |
| // prompt user for pin | |
| stdout.printf("Go to http://twitter.com/oauth/authorize?oauth_token=%s then enter the PIN\n", proxy.get_token()); | |
| string pin = stdin.read_line(); | |
| // access token | |
| try { proxy.access_token(FUNCTION_ACCESS_TOKEN, pin); } | |
| catch (Error e) { | |
| stderr.printf("Couldn't get access token: %s\n", e.message); | |
| return 1; | |
| } | |
| /** sending the tweet */ | |
| // setup call | |
| ProxyCall call = proxy.new_call(); | |
| call.set_function(FUNCTION_STATUSES_UPDATE); | |
| call.set_method("POST"); | |
| call.add_param(PARAM_STATUS, args[1]); | |
| try { call.sync(); } catch (Error e) { | |
| stderr.printf("Cannot make call: %s\n", e.message); | |
| return 1; | |
| } | |
| // print success | |
| stdout.printf("Tweet succeeded!\n"); | |
| return 0; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment