【发布时间】:2011-10-15 02:29:22
【问题描述】:
我在谷歌应用引擎 (webapp) 上使用 python facebook api。我想将用户的 cookie 设置为在用户退出应用程序时过期。该 cookie 由 Javascript Facebook API 设置。
这里是显示 facebook api 如何访问 facebook cookie 的 facebook api 函数:
def get_user_from_cookie(cookies, app_id, app_secret):
cookie = cookies.get("fbs_" + app_id, "")
if not cookie: return None
args = dict((k, v[-1]) for k, v in cgi.parse_qs(cookie.strip('"')).items())
payload = "".join(k + "=" + args[k] for k in sorted(args.keys())
if k != "sig")
sig = hashlib.md5(payload + app_secret).hexdigest()
expires = int(args["expires"])
if sig == args.get("sig") and (expires == 0 or time.time() < expires):
return args
else:
return None
我可以通过以下方式调用此函数:
class WelcomePage(webapp.RequestHandler):
def getFacebookCookie(self):
cookie = facebook.get_user_from_cookie(
self.request.cookies, app_id, app_secret)
accss_token = cookie["access_token"]
logging.debug("The access token is %s"%access_token)
现在如何删除/设置用户的 cookie 过期?
非常感谢任何帮助。提前致谢。
【问题讨论】:
标签: python google-app-engine facebook-graph-api session-cookies facebook-javascript-sdk