Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在pythonforfacebook appengine示例中始终获取cookie=None_Facebook_Google App Engine_Python 2.5 - Fatal编程技术网

在pythonforfacebook appengine示例中始终获取cookie=None

在pythonforfacebook appengine示例中始终获取cookie=None,facebook,google-app-engine,python-2.5,Facebook,Google App Engine,Python 2.5,我正在尝试执行的外观工程的例子。但是,我的cookie值始终为“无”。我进行了调试,发现它确实携带信息,但是在facebook中。从cookie获取用户,它无法提取/解析值 有人能够执行这个例子吗?我在用蟒蛇25。我试图在我的示例中实现类似的功能 我需要通过facebook登录用户,并将他们的详细信息存储在app engine数据存储中 产生这个问题可能有几个原因。 如果没有详细信息,我们也帮不上忙。 尝试记录一些信息将有助于我们找出错误所在 因为您没有收到来自\u cookie函数的get\

我正在尝试执行的外观工程的例子。但是,我的cookie值始终为“无”。我进行了调试,发现它确实携带信息,但是在facebook中。从cookie获取用户,它无法提取/解析值

有人能够执行这个例子吗?我在用蟒蛇25。我试图在我的示例中实现类似的功能


我需要通过facebook登录用户,并将他们的详细信息存储在app engine数据存储中

产生这个问题可能有几个原因。 如果没有详细信息,我们也帮不上忙。 尝试记录一些信息将有助于我们找出错误所在

因为您没有收到来自\u cookie函数的get\u user\u。 打开facebook.py,在生成None结果的行中添加两个日志。然后日志可以告诉问题在哪里

def get_user_from_cookie(cookies, app_id, app_secret):
    """Parses the cookie set by the official Facebook JavaScript SDK.

    cookies should be a dictionary-like object mapping cookie names to
    cookie values.

    If the user is logged in via Facebook, we return a dictionary with
    the keys "uid" and "access_token". The former is the user's
    Facebook ID, and the latter can be used to make authenticated
    requests to the Graph API. If the user is not logged in, we
    return None.

    Download the official Facebook JavaScript SDK at
    http://github.com/facebook/connect-js/. Read more about Facebook
    authentication at http://developers.facebook.com/docs/authentication/.
    """
    cookie = cookies.get("fbsr_" + app_id, "")
    if not cookie:
        logging.info("no cookies")   # ADD LOG HERE!
        return None
    parsed_request = parse_signed_request(cookie, app_secret)
    try:
        result = get_access_token_from_code(parsed_request["code"], "",
                                          app_id, app_secret)
    except GraphAPIError:
        logging.info("get access token failed") # ADD LOG HERE!!
        return None
    result["uid"] = parsed_request["user_id"]
    return result

所以我照你说的做了,我调试了“没有cookies”,注意到控件转到webob(Google\Google\u appengine\lib\webob\u 0\u 9\webob)中的“def cookies”,这里self.str\u cookies是空的,因此vars是{}。因此,当控件返回以从\u cookie获取\u user\u时,cookie为None:(我想知道是否需要使用gaesessions()。我以前没有在一个需要会话管理的项目中使用过此功能。您一起使用过Facebook javascript SDK吗?Facebook javascript SDK将为您实现cookie部分。或者您正在尝试在没有javascript SDK的情况下实现服务器端身份验证?那么您需要自己完成cookie部分。不,我有很多用处在FB.init中,在客户端使用cookie=true的d javascript SDK。我不确定我遗漏了什么。我使用了SDK->examples->appengine中的整个示例