import contextio as c import time import unicodedata CONSUMER_KEY = 'x8k6sokj' CONSUMER_SECRET = 'VSHVN2f4Praml16A' context_io = c.ContextIO( consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, ) callbackurl = 'http://ec2-52-5-42-106.compute-1.amazonaws.com/oauth_success' def get_browser_redirect_url(): d = context_io.post_connect_token(callback_url=callbackurl) url = d["browser_redirect_url"] return str(url) def get_userinfo_from_token(t): d = context_io.get_connect_tokens(token=t) uid = d['account']['id'] first_name = d['account']['first_name'] last_name = d['account']['last_name'] email = d['account']['email_addresses'][0] token = t preference = 2 timestamp = d['account']['created'] #create_webhook(uid) return uid, email, first_name, last_name, token, preference, timestamp
import helpers import contextio as c CONSUMER_KEY = "YOUR_CONTEXTIO_CONSUMER_KEY" CONSUMER_SECRET = "YOUR_CONTEXTIO_CONSUMER_KEY" EXISTING_USER_ID = "AN_EXISTING_LITE_API_USER_ID" # see the ContextIO dev console api = c.ContextIO(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, api_version="lite", debug=True) user = c.User(api, {"id": EXISTING_USER_ID}) helpers.headerprint("FETCHING USER INFO (Lite API)") user.get() helpers.cprint("id", user.id) helpers.cprint("email_accounts", user.email_accounts) helpers.cprint("email_addresses", user.email_addresses) helpers.cprint("created", user.created) helpers.cprint("first_name", user.first_name) helpers.cprint("last_name", user.last_name) helpers.cprint("resource_url", user.resource_url) print "\n"
import helpers import contextio as c CONSUMER_KEY = "YOUR_CONTEXTIO_CONSUMER_KEY" CONSUMER_SECRET = "YOUR_CONTEXTIO_CONSUMER_KEY" EXISTING_ACCOUNT_ID = "AN_EXISTING_2.0_API_ACCOUNT_ID" # see the ContextIO dev console api = c.ContextIO(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, debug=True) account = c.Account(api, {"id": EXISTING_ACCOUNT_ID}) helpers.headerprint("FETCHING ACCOUNT INFO (Lite API)") account.get() helpers.cprint("id", account.id) helpers.cprint("username", account.username) helpers.cprint("created", account.created) helpers.cprint("suspended", account.suspended) helpers.cprint("email_addresses", account.email_addresses) helpers.cprint("first_name", account.first_name) helpers.cprint("last_name", account.last_name) helpers.cprint("password_expired", account.password_expired) helpers.cprint("sources", account.sources) helpers.cprint("resource_url", account.resource_url) print "\n"
params = get_header_params(request.headers, request.form['user']) params.update(request.form.to_dict()) if user and not user["pending"] and 'sig' in params and verifySignature(request.base_url, request.method, request.form, user["secret"]): message = json.loads(params['message']) message['from'] = "%s <%s>" % (user["name"], user["email"]) response = HTTP.post( "https://api.mailgun.net/v2/parley.co/messages", auth=("api", MAILGUN_API_KEY), data=message) response_dict = response.json() return jsonify(**response_dict), 201 #---- CONTEXT.IO STUFF ----# context_io = contextio.ContextIO( consumer_key=config["contextio_api_key"], consumer_secret=config["contextio_api_secret"] ) @app.route("/imap/connect/<email>", methods=['GET']) def imap_connect(email): email = unquote(email) user = getUser(email) params = get_header_params(request.headers, email) params.update(request.args.to_dict()) if user and not user["pending"] and 'sig' in params and verifySignature(request.base_url, request.method, params, user["secret"]): time = params["time"] sig = hmac.new( key=config["contextio_api_secret"]+user["secret"], msg=email+'|'+time, digestmod=hashlib.sha256).digest() sig = base64.b64encode(sig,'-_').strip('=')
import helpers import contextio as c CONSUMER_KEY = "YOUR_CONTEXTIO_CONSUMER_KEY" CONSUMER_SECRET = "YOUR_CONTEXTIO_CONSUMER_KEY" api = c.ContextIO(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, debug=True) # returns v2.0 API by default helpers.headerprint("FETCHING ACCOUNTS (v2.0 API)") accounts = api.get_accounts() print accounts print "\n" print "Found {0} accounts.".format(len(accounts)) print "\n"
import contextio as c from bottle import route, run, template, get, post, request, redirect import requests #Login to context io CONSUMER_KEY = 'nparu2by' CONSUMER_SECRET = '3i5PIoxYuX9Y4lGK' API_VERSION = '2.0' # "lite" or "2.0" context_io = c.ContextIO(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, api_version=API_VERSION) #Signin route @route("/signin") def signin(): dire = context_io.post_connect_token( callback_url="http://*****:*****@route("/redir") def redir(): #Add webhook account = c.ConnectToken(context_io, {"token": request.query.contextio_token}) account.get() aid = account.account.id account = account.account # account.post_webhook(callback_url="http://localhost:8080/webhook",failure_notif_url="http://localhost:8080/webhook_failure")