예제 #1
0
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
예제 #2
0
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"

예제 #4
0
  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"
예제 #6
0
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")