class TestOauth(unittest.TestCase): def setUp(self): self.smugmug = SmugMug(api_key=API_KEY, api_version='1.3.0', app_name='TestApp', oauth_secret=OAUTH_SECRET) def test_get_request_token(self): self.smugmug.auth_getRequestToken() self.assertNotEqual(self.smugmug.oauth_token, None) self.assertNotEqual(self.smugmug.oauth_token_secret, None) self.smugmug.reset_auth() def test_get_access_token(self): self.smugmug.auth_getAccessToken() self.assertNotEqual(self.smugmug.oauth_token, None) self.assertNotEqual(self.smugmug.oauth_token_secret, None) self.smugmug.reset_auth() def test_request_signature(self): url = 'http://api.smugmug.com/services/api/json/' parameters = dict( method = 'smugmug.albums.get', NickName = 'williams' ) timestamp = 1341423551 nonce = 'b7cdabcabc3c4f7f91508da3bca9798f' signed_args = self.smugmug._get_oauth_request_params(url=url, parameters=parameters, method='POST', timestamp=timestamp, nonce=nonce) self.assertEqual(signed_args['oauth_signature'], 'f++GOXf9BhSVhGy1dxGSbmaA0ng=')
def smug_auth(): smugmug = SmugMug(api_key=config.get('smugmug', 'key'), oauth_secret=config.get('smugmug', 'secret'), api_version="1.3.0", app_name="flickr-to-smugmug") if config.has_option('smugmug', 'oauth_token'): smugmug.set_oauth_token(config.get('smugmug', 'oauth_token'), config.get('smugmug', 'oauth_token_secret')) else: smugmug.auth_getRequestToken() get_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize(access='Full', perm='Modify'))) smugmug.auth_getAccessToken() config.set('smugmug', 'oauth_token', smugmug.oauth_token) config.set('smugmug', 'oauth_token_secret', smugmug.oauth_token_secret) save() return smugmug
def _smugmugOauthRequestToken(self, access="Public", perm="Read"): smugmug = SmugMug(api_key=self.api_key, oauth_secret=self.oauth_secret, app_name=self.app_name) # Get a token that is short-lived (probably about 5 minutes) and can be used # only to setup authorization at SmugMug response = smugmug.auth_getRequestToken() # Get the URL that the user must visit to authorize this app (implicilty includes the request token in the URL) url = smugmug.authorize(access=access, perm=perm) return url, response['Auth'] # (should contain a 'Token')
def smugmugOauthRequestToken(access="Public", perm="Read"): smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, app_name=APP_NAME) # Get a token that is short-lived (probably about 5 minutes) and can be used # only to setup authorization at SmugMug response = smugmug.auth_getRequestToken() # Get the URL that the user must visit to authorize this app (implicilty includes the request token in the URL) url = smugmug.authorize(access=access, perm=perm) return url, response['Auth'] # (should contain a 'Token')
def smugmugOauthGetAccessToken(requestToken): # Use the request token to log in (which should be authorized now) smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, oauth_token=requestToken['Token']['id'], oauth_token_secret=requestToken['Token']['Secret'], app_name=APP_NAME) # The request token is good for 1 operation: to get an access token. response = smugmug.auth_getRequestToken() # The access token should be good until the user explicitly # disables it at smugmug.com in their settings panel. return response['Auth'];
def smugmugOauthGetAccessToken(requestToken): # Use the request token to log in (which should be authorized now) smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, oauth_token=requestToken['Token']['id'], oauth_token_secret=requestToken['Token']['Secret'], app_name=APP_NAME) # The request token is good for 1 operation: to get an access token. response = smugmug.auth_getRequestToken() # The access token should be good until the user explicitly # disables it at smugmug.com in their settings panel. return response['Auth']
#!/usr/bin/env python from __future__ import print_function from smugpy import SmugMug import sys #Aliasing for differences in Python 2.x and 3.x if sys.version_info < (3,): get_input = raw_input else: get_input = input API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX" OAUTH_SECRET = "YYYYYYYYYYYYYYYYYYYYYYY" smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, app_name="TestApp") #Oauth handshake smugmug.auth_getRequestToken() get_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize())) smugmug.auth_getAccessToken() albums = smugmug.albums_get(NickName="williams") # Moon River Photography, thanks Andy! for album in albums["Albums"]: print("%s, %s" % (album["id"], album["Title"]))
#!/usr/bin/env python from __future__ import print_function from smugpy import SmugMug import sys #Aliasing for differences in Python 2.x and 3.x if sys.version_info < (3, ): get_input = raw_input else: get_input = input API_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX" OAUTH_SECRET = "YYYYYYYYYYYYYYYYYYYYYYY" smugmug = SmugMug(api_key=API_KEY, oauth_secret=OAUTH_SECRET, app_name="TestApp") #Oauth handshake smugmug.auth_getRequestToken() get_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize())) smugmug.auth_getAccessToken() albums = smugmug.albums_get( NickName="williams") # Moon River Photography, thanks Andy! for album in albums["Albums"]: print("%s, %s" % (album["id"], album["Title"]))