예제 #1
0
def getFriendsPlurk(oauth_token, oauth_token_secret, body):
    from plurk_oauth.PlurkAPI import PlurkAPI
    #body = urllib.urlencode(body)
    plurk = PlurkAPI(settings.PLURK_APP_KEY, settings.PLURK_APP_SECRET)
    plurk.authorize(oauth_token, oauth_token_secret)
    dd = plurk.callAPI('/APP/FriendsFans/getFriendsByOffset', body)
    return dd
예제 #2
0
파일: views.py 프로젝트: legnaleurc/sinkmb
def __getAPI__( user ):
	try:
		token = Access.objects.get( user__exact = user )
	except Access.DoesNotExist:
		# TODO report error
		raise
	api = PlurkAPI( plurk.CONSUMER_KEY, plurk.CONSUMER_SECRET, token.key, token.secret )
	return api
예제 #3
0
 def test_invalid_consumer_key(self):
     self.plurk = PlurkAPI("token", "secret")
     r = self.plurk.callAPI('/APP/Profile/getPublicProfile',
             {'user_id': 'clsung'})
     self.assertIsNone(r)
     err = self.plurk.error()
     self.assertEqual(err['code'], "400")
     self.assertEqual(err['reason'], "BAD REQUEST")
     self.assertEqual(err['content']['error_text'],
         "40101:unknown application key")
예제 #4
0
 def setUp(self):
     try: 
         file = open('API.keys', 'r+')
     except IOError:
         print "You need to put key/secret in API.keys"
         raise
     except:
         print "Unexpected error:", sys.exc_info()[0]
     else:
         data = json.load(file)
         file.close()
         self.plurk = PlurkAPI(data["CONSUMER_KEY"], data["CONSUMER_SECRET"])
예제 #5
0
 def setUp(self):
     self.mox = mox.Mox()
     self.api = PlurkAPI('CONSUMER_KEY', 'CONSUMER_SECRET')
     self.oauth_response = \
     'oauth_token_secret=O7WqqqWHA61f4ZE5izQdTQmK&oauth_token=ReqXBFOswcyR&oauth_callback_confirmed=true'
     self.verify_response = \
     'oauth_token_secret=O7WqqqWHA61f4ZE5izQdTQmK&oauth_token=ReqXBFOswcyR'
     self.golden_token = {
         'key': 'ReqXBFOswcyR',
         'secret': 'O7WqqqWHA61f4ZE5izQdTQmK',
     }
     self.golden_url = 'http://www.plurk.com/OAuth/authorize?oauth_token=ReqXBFOswcyR'
     self.mox.StubOutWithMock(PlurkOAuth, 'request')
예제 #6
0
파일: views.py 프로젝트: legnaleurc/sinkmb
def connect( request ):
	api = PlurkAPI( plurk.CONSUMER_KEY, plurk.CONSUMER_SECRET )
	api._oauth.get_request_token()
	# store request token for next step
	uri = api._oauth.get_verifier_url()
	try:
		requestToken = Request.objects.get( user__exact = request.user )
		requestToken.key = api._oauth.oauth_token['oauth_token']
		requestToken.secret = api._oauth.oauth_token['oauth_token_secret']
	except Request.DoesNotExist:
		requestToken = Request( user = request.user, key = api._oauth.oauth_token['oauth_token'], secret = api._oauth.oauth_token['oauth_token_secret'] )
	requestToken.save()

	return redirect( uri )
예제 #7
0
파일: views.py 프로젝트: legnaleurc/sinkmb
def callback( request ):
	try:
		requestKey = request.GET['oauth_token']
		verifier = request.GET['oauth_verifier']
	except Exception:
		# TODO error page
		raise
	try:
		requestToken = Request.objects.get( user__exact = request.user )
	except Request.DoesNotExist:
		# TODO error page
		raise
	api = PlurkAPI( plurk.CONSUMER_KEY, plurk.CONSUMER_SECRET )
	api._oauth.oauth_token['oauth_token'] = requestToken.key
	api._oauth.oauth_token['oauth_token_secret'] = requestToken.secret
	requestToken.delete()
	try:
		api._oauth.get_access_token( verifier )
		accessKey = api._oauth.oauth_token['oauth_token']
		accessSecret = api._oauth.oauth_token['oauth_token_secret']
	except Exception:
		# TODO error page
		raise
	try:
		record = Access.objects.get( user__exact = request.user )
		record.key = accessKey
		record.secret = accessSecret
	except Access.DoesNotExist:
		record = Access( user = request.user, key = accessKey, secret = accessSecret )
		record.save()

	# add read id for user
	me = api.callAPI( '/APP/Profile/getOwnProfile' )
	if me == None:
		raise Exception( api.error() )
	me = me['user_info']['nick_name']
	try:
		realID = RealID.objects.get( user__exact = request.user, account__exact = me )
		realID.name = request.user.username
	except RealID.DoesNotExist:
		realID = RealID( user = request.user, name = request.user.username, account = me )
	realID.save()

	return redirect( '/' )
예제 #8
0
def init(consumer_key = CONSUMER_KEY, consumer_secret = CONSUMER_SECRET, app_token = APP_TOKEN, app_secret = APP_SECRET):
    return PlurkAPI(consumer_key, consumer_secret, app_token, app_secret)
예제 #9
0
from sys import argv
from plurk_oauth.PlurkAPI import PlurkAPI
import json
import socket

plurk = PlurkAPI("TmJ2fUfRcy3X", "kuBsGZH8qBw34h9uytZgNWFC37PkYv66")
plurk.authorize("fqG3DURTDfvA", "EcpTJdGsxHEaCx4TxIMlKR1tksPEuf09")

script, filename = argv
infile = open(filename, "r")

filename_prefix = filename.split("/")[-1]

total_length = len(infile.read().split("\n"))
infile.close()
infile = open(filename, "r")

errorfile = open("error/%s.error.txt" % (filename_prefix), "w")
outf = open("result/%s.user_table.txt" % (filename_prefix), "w")

#print >> outfile, (string[0] + "\tgender")

i = 0
for l in infile:
    tmp = l.strip().split("\t")
    userid = tmp[0]
    try:
        temp = plurk.callAPI("/APP/Profile/getPublicProfile",
                             {"user_id": userid})
    except:
        continue
예제 #10
0
 def test_no_consumer_key(self):
     with self.assertRaises(ValueError):
         self.plurk = PlurkAPI()
         self.plurk.callAPI('/APP/Profile/getPublicProfile',
             {'user_id': 'clsung'})
예제 #11
0
from plurk_oauth.PlurkAPI import PlurkAPI
from collections import OrderedDict
import traceback
import scraperwiki
import sys
import json

api_key = "REDACTED"
api_secret = "REDACTED"

argument = sys.argv[1]
plurk = PlurkAPI(api_key, api_secret)


class InvalidArgumentError(Exception):
    pass


def main():
    try:
        if len(sys.argv) != 2:
            raise InvalidArgumentError(
                "Please supply a single argument. An example would be 'kittens'"
            )
        else:
            search_plurk(argument)

    except Exception, e:
        scraperwiki.status('error', type(e).__name__)
        print json.dumps({
            'error': {