Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.OAuth.getAccessToken
on getAccessToken (endpoint, consumerkey, consumersecret, token, tokensecret, verifier=nil, adrtoken, adrtokensecret) { <<Changes <<1/1/10; 11:31:09 AM by DW <<Add optional parameter, verifier, if non-nil, we send it as the oauth_verifier param, per the spec on the Twitter API wiki. <<http://apiwiki.twitter.com/Authentication <<3/6/09; 8:53:19 AM by DW <<Comment debugging code. <<2/12/09; 12:16:28 PM by DW <<Created. <<http://term.ie/oauth/example/access_token.php?oauth_version=1.0&oauth_nonce=565e1bb17d9bc781d0ccb2c95411dd58&oauth_timestamp=1234469657&oauth_consumer_key=key&oauth_token=requestkey&oauth_signature_method=HMAC-SHA1&oauth_signature=qKdhday%2Fo1m2B%2Baabei4xC%2BBF3A%3D local (params); new (tabletype, @params); params.oauth_version = "1.0"; params.oauth_nonce = OAuth.getNonce (); params.oauth_timestamp = OAuth.getTimeStamp (); params.oauth_consumer_key = consumerKey; params.oauth_signature_method = "HMAC-SHA1"; params.oauth_token = token; if verifier != nil { //1/1/10 by DW params.oauth_verifier = verifier}; params.oauth_signature = OAuth.getSignature (@params, endpoint, consumersecret, tokenSecret); local (s = OAuth.httpClient (endpoint, @params)); <<wp.newtextobject (s, @scratchpad.accesstokenresult); edit (@scratchpad.accesstokenresult) bundle { //parse the resulting string adrtoken^ = string.nthfield (string.nthfield (s, "&", 1), "=", 2); adrtokensecret^ = string.nthfield (string.nthfield (s, "&", 2), "=", 2)}} <<oauth_token=accesskey&oauth_token_secret=accesssecret <<bundle //test code <<local (endpoint = "http://term.ie/oauth/example/access_token.php") <<local (consumerkey = "key", consumersecret = "secret") <<getAccessToken (endpoint, consumerkey, consumersecret, scratchpad.token, scratchpad.tokensecret, @scratchpad.accesstoken, @scratchpad.accesstokensecret)
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.