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"))
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")
def get_facebook_token(token=None): sa = current_user.social_account(SocialAccount.FACEBOOK) return (sa.token, config.FACEBOOK_APP_SECRET)