diff options
| author | Tim Redfern <tim@eclectronics.org> | 2014-03-03 13:51:51 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2014-03-03 13:51:51 +0000 |
| commit | 8dd6225e9e0bc6e2ae204b434369259a845a7979 (patch) | |
| tree | 8f7b44f3c415bc43b9569bab4f5572da61986973 /example-twitter | |
| parent | 8740fb5e6b9084ea548f11d1ab1944fa653a82d7 (diff) | |
looking at OAuth
Diffstat (limited to 'example-twitter')
| -rw-r--r-- | example-twitter/src/main.cpp | 33 | ||||
| -rw-r--r-- | example-twitter/src/ofApp.cpp | 90 | ||||
| -rw-r--r-- | example-twitter/src/ofApp.h | 42 | ||||
| -rw-r--r-- | example-twitter/src/ofxExampleTwitterClient.h | 58 |
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"); + } + +}; |
