Пример #1
0
def authorized(resp):
    if resp is None:
        flash("You denied the request", "danger")
        return redirect(url_for(".index"))

    try:
        append = True
        sa = current_user.social_account(account_type=SocialAccount.FACEBOOK)
        if sa.token: append = False
        sa.token = resp.get('access_token')
        if append: current_user.social_accounts.append(sa)
        current_user.save()
    except Exception as e:
        logging.exception(e)

    return redirect(url_for(".verify"))
Пример #2
0
 def get(self):
     sa = current_user.social_account(SocialAccount.FACEBOOK)
     res = fb_app.get(
         "/debug_token",
         data={
             'input_token':sa.token
         }
     )
     if res:
         data = res.data.get('data')
         sa.id = data.get("user_id")
         sa.app_id = data.get("app_id")
         [sa.permissions.append(p) for p in data.get("scopes") if p not in sa.permissions]
         current_user.save()
         token = get_long_token(sa.token)
         sa.token = token['token']
         sa.expires = token['expires']
         current_user.save()
         pages = get_pages(sa.id)
         logging.info(pages)
         for page in pages:
             for p in current_user.facebook_pages:
                 if page.get("id") == p.id:
                     break
             else:
                 fp = FacebookPage()
                 fp.name = page.get("name")
                 fp.token = page.get("access_token")
                 fp.id = page.get("id")
                 [fp.permissions.append(perm) for perm in page.get("perms")]
                 for pc in page.get("category_list", []):
                     pca = PageCategory()
                     pca.id = pc.get("id")
                     pca.name = pc.get("name")
                     fp.categories.append(pca)
                 current_user.facebook_pages.append(fp)
         current_user.save()
     return render_template("auth/facebook/pages.html")
Пример #3
0
def get_facebook_token(token=None):
    sa = current_user.social_account(SocialAccount.FACEBOOK)
    return (sa.token, config.FACEBOOK_APP_SECRET)