Facebook和Parse:代码251,错误:Parse::InvalidSessionError



我试图建立一个chrome扩展,使用Facebook访问令牌登录到使用JS api解析。作为概念证明,我尝试使用curl遵循这里的示例,但是当我放入access_token和expiration_date时,POST调用返回{"code":251,"error":"Parse::InvalidSessionError"}

具体来说,我是从OSX shell调用的。

curl -X POST

-H "X-Parse-Application-Id: [my app id]" 
-H "X-Parse-REST-API-Key: [my rest api key]" 
-H "X-Parse-Revocable-Session: 1" 
-H "Content-Type: application/json" 
-d '{
      "authData": {
        "facebook": {
          "id": "[my id as a string]",
          "access_token": "[my token as a string]",
          "expiration_date": "2015-10-26T07:45:16.579Z"
        }
      }
    }' 
https://api.parse.com/1/users

我在谷歌上搜索了一下,包括阅读以下帖子,但在多次更改我在Facebook应用程序上的设置并重新验证后,它仍然抛出相同的错误。

使用FB用户登录解析。错误码:251,Invalid session Error

解析Facebook登录失败,错误码251

为了记录,我已经尝试将我的"应用程序秘密嵌入客户端"Facebook设置为false,以及我的"本机或桌面应用程序?"设置为是和否(我相当确定它应该设置为是,因为我正在使用桌面应用程序FB登录流程。)我还将我的facebook应用程序添加到我的parse应用程序中,并在parse上启用facebook集成,以及仔细检查我的parse应用程序和rest api密钥。

请让我知道我还应该尝试什么,或者你需要什么其他信息来评估这个。

我处理这个问题的方式有两个问题。

  1. 我通过添加"Expires_in"字段(使用此FB登录流返回)来创建"Expires_at"字段到我的浏览器计算的当前时间。现在回想起来,这是愚蠢的,因为过期时间应该是精确的,网络延迟会使计算时间改变一点。

  2. 我使用了错误的facebook ID为我的请求-现在有两种类型的ID,你需要使用正确的一个。

最新更新