Last active
December 14, 2015 00:59
-
-
Save gawaooooo/5002601 to your computer and use it in GitHub Desktop.
Twitter OAuth認証を使う 参考
http://pana4405.u-shizuoka-ken.ac.jp/javascript%E3%81%A7oauth%E8%AA%8D%E8%A8%BC%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6twitter%E3%81%AEtimeline%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/
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
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <title>Twitter + OAuth + JavaScript search api test</title> | |
| <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js | |
| "></script> | |
| <script type="text/javascript" src="oauth.js"></script> | |
| <script type="text/javascript" src="sha1.js"></script> | |
| <script type="text/javascript"> | |
| // Twitterオブジェクトのコンストラクタ・プロトタイプ定義 | |
| function Twitter() {} | |
| Twitter.prototype = { | |
| consumerKey: "consumer key", | |
| consumerSecret: "consumerSecret", | |
| accessToken: "accessToken", | |
| tokenSecret: "tokenSecret" | |
| }; | |
| Twitter.prototype.get = function(api, content) { | |
| var accessor = { | |
| consumerSecret: this.consumerSecret, | |
| tokenSecret: this.tokenSecret | |
| }; | |
| var message = { | |
| method: "GET", | |
| action: api, | |
| parameters: { | |
| oauth_version: "1.0", | |
| oauth_signature_method: "HMAC-SHA1", | |
| oauth_consumer_key: this.consumerKey, | |
| oauth_token: this.accessToken | |
| } | |
| }; | |
| for(var key in content) { | |
| message.parameters[key] = content[key]; | |
| } | |
| OAuth.setTimestampAndNonce(message); | |
| OAuth.SignatureMethod.sign(message, accessor); | |
| var target = OAuth.addToURL(message.action, message.parameters); | |
| var options = { | |
| type: message.method, | |
| url: target, | |
| dataType: "jsonp", | |
| jsonp: false, | |
| cache: true | |
| } | |
| $.ajax(options); | |
| } | |
| var twitter = new Twitter(); | |
| function update(data) { | |
| // searchの場合 | |
| var tweets = data.statuses; | |
| // userの場合 | |
| //var tweets = data.users; | |
| console.log(tweets); | |
| for(var i = 0; i < tweets.length; i++) { | |
| // searchの場合 | |
| $("#test").append('<p><img src="' + tweets[i].user.profile_image_url + '">' + tweets[i].user.name + ' : ' + tweets[i].user.id + ' : ' + tweets[i].text + '</p>'); | |
| // followersの場合 | |
| //$("#test").append('<p><img src="' + tweets[i].profile_image_url + '">' + tweets[i].name + ':' + tweets[i].id + '</p>'); | |
| } | |
| } | |
| $(function() { | |
| // オプションとコールバック関数の指定 | |
| // search/tweets ->API の limit が180 | |
| var content = {q: "#momoclo",count: 100, callback: "update"}; | |
| // followers/list ->API の limit が15 | |
| //var content = {callback: "update", cursor: -1}; | |
| // Twitter API の呼び出し search | |
| twitter.get("https://api.twitter.com/1.1/search/tweets.json", content); | |
| // user | |
| //twitter.get("https://api.twitter.com/1.1/followers/list.json", content); | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| <div id="test"> | |
| </div> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment