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 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_getAccessToken() # 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_getAccessToken() # 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"]))
TOKEN = config.get('main', 'token') SECRET = config.get('main', 'secret') USERNAME = config.get('main', 'smugmug_user') # set up smugmug API smugmug = SmugMug(api_key=API_KEY, oauth_secret=API_SECRET, app_name="get_gallery_links") # oauth if TOKEN and SECRET: smugmug.set_oauth_token(TOKEN, SECRET) response = smugmug.auth_checkAccessToken() #print response else: smugmug.auth_getRequestToken() raw_input("Authorize app at %s\n\nPress Enter when complete.\n" % (smugmug.authorize(access='Full'))) response = smugmug.auth_getAccessToken() print(" token: %s" % response['Auth']['Token']['id']) print(" secret: %s" % response['Auth']['Token']['Secret']) print("Enter these values into smugmuglinkgen.conf to skip this auth process the next time around.") # the real work starts here albums = smugmug.albums_get(NickName=USERNAME) for album in albums['Albums']: if arguments['list']: print(album['Title']) else: if arguments['<albumname>'] in album['Title']: print("Processing %s, %s" % (album['id'], album['Title'])) images = smugmug.images_get(AlbumID=album['id'], AlbumKey=album['Key'], Heavy=True) for image in images['Album']['Images']: original_url = image['OriginalURL']