summaryrefslogtreecommitdiff
path: root/example-twitter
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2014-03-03 13:51:51 +0000
committerTim Redfern <tim@eclectronics.org>2014-03-03 13:51:51 +0000
commit8dd6225e9e0bc6e2ae204b434369259a845a7979 (patch)
tree8f7b44f3c415bc43b9569bab4f5572da61986973 /example-twitter
parent8740fb5e6b9084ea548f11d1ab1944fa653a82d7 (diff)
looking at OAuth
Diffstat (limited to 'example-twitter')
-rw-r--r--example-twitter/src/main.cpp33
-rw-r--r--example-twitter/src/ofApp.cpp90
-rw-r--r--example-twitter/src/ofApp.h42
-rw-r--r--example-twitter/src/ofxExampleTwitterClient.h58
4 files changed, 223 insertions, 0 deletions
diff --git a/example-twitter/src/main.cpp b/example-twitter/src/main.cpp
new file mode 100644
index 0000000..88fe943
--- /dev/null
+++ b/example-twitter/src/main.cpp
@@ -0,0 +1,33 @@
+// =============================================================================
+//
+// Copyright (c) 2010-2013 Christopher Baker <http://christopherbaker.net>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+// =============================================================================
+
+
+#include "ofApp.h"
+
+
+int main()
+{
+ ofSetupOpenGL(100,100,OF_WINDOW);
+ ofRunApp(new ofApp());
+}
diff --git a/example-twitter/src/ofApp.cpp b/example-twitter/src/ofApp.cpp
new file mode 100644
index 0000000..1b71796
--- /dev/null
+++ b/example-twitter/src/ofApp.cpp
@@ -0,0 +1,90 @@
+// =============================================================================
+//
+// Copyright (c) 2010-2013 Christopher Baker <http://christopherbaker.net>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+// =============================================================================
+
+
+#include "ofApp.h"
+
+
+//------------------------------------------------------------------------------
+void ofApp::setup()
+{
+ ofSetFrameRate(30);
+ ofSetLogLevel(OF_LOG_VERBOSE);
+
+ // A simplified interface when using the ofxExampleTwitterClient class.
+ // Twitter-specific configuration details can be taken care of the
+ // ofxOAuth base class.
+ //client.setup("CONSUMER_KEY","CONSUMER_SECRET");
+
+client.setup("jGt8ptINLee1hvoaVI2wcQ","lIU8KixtRkVo285pdf5quiiHfTzrq8GTGEH88S6fs");
+ /*
+twitter
+
+timredfern
+API key jGt8ptINLee1hvoaVI2wcQ
+secret lIU8KixtRkVo285pdf5quiiHfTzrq8GTGEH88S6fs
+
+
+instagram
+
+CLIENT INFO
+CLIENT ID c1d74d701fdf4ddd9f8d30ee9e8f944b
+CLIENT SECRET 763f2fd6cee84cc8bd8f989e3a7ba788
+WEBSITE URL http://eclectronics.org/test
+REDIRECT URI http://127.0.0.1
+
+*/
+
+ // Once authenticated, press the spacebar to try a test call.
+}
+
+//------------------------------------------------------------------------------
+void ofApp::draw()
+{
+ if(client.isAuthorized())
+ {
+ ofBackground(0,255,0);
+ }
+ else
+ {
+ ofBackground(255,0,0);
+ }
+}
+
+//------------------------------------------------------------------------------
+void ofApp::keyPressed(int key)
+{
+ if(key == ' ')
+ {
+ if(client.isAuthorized())
+ {
+ std::string s = client.exampleMethod();
+ ofLogNotice("testApp::keyPressed") << s;
+ }
+ else
+ {
+ ofLogWarning("testApp::keyPressed") << "Not authorized yet.";
+ }
+ }
+}
diff --git a/example-twitter/src/ofApp.h b/example-twitter/src/ofApp.h
new file mode 100644
index 0000000..8e86fe6
--- /dev/null
+++ b/example-twitter/src/ofApp.h
@@ -0,0 +1,42 @@
+// =============================================================================
+//
+// Copyright (c) 2010-2013 Christopher Baker <http://christopherbaker.net>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+// =============================================================================
+
+
+#pragma once
+
+
+#include "ofMain.h"
+#include "ofxExampleTwitterClient.h"
+
+
+class ofApp: public ofBaseApp
+{
+public:
+ void setup();
+ void draw();
+ void keyPressed(int key);
+
+ ofxExampleTwitterClient client;
+
+};
diff --git a/example-twitter/src/ofxExampleTwitterClient.h b/example-twitter/src/ofxExampleTwitterClient.h
new file mode 100644
index 0000000..615ef12
--- /dev/null
+++ b/example-twitter/src/ofxExampleTwitterClient.h
@@ -0,0 +1,58 @@
+// =============================================================================
+//
+// Copyright (c) 2010-2013 Christopher Baker <http://christopherbaker.net>
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+// =============================================================================
+
+
+#pragma once
+
+
+#include "ofxOAuth.h"
+
+
+class ofxExampleTwitterClient: public ofxOAuth
+{
+public:
+ ofxExampleTwitterClient()
+ {
+ }
+
+ virtual ~ofxExampleTwitterClient()
+ {
+ }
+
+ void setup(const std::string& consumerKey,
+ const std::string& consumerSecret)
+ {
+ ofxOAuth::setup("https://api.twitter.com",
+ consumerKey,
+ consumerSecret);
+ }
+
+ // Once setup is called, authenticated calls can be made.
+ // This method is just an example of whatyour calls might look like.
+ std::string exampleMethod()
+ {
+ return get("/1.1/search/tweets.json?q=#tycleeson");
+ }
+
+};