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

时间:2015-10-26 06:36:42

标签: facebook curl parse-platform facebook-login

我正在尝试使用JS api设置使用Facebook Access令牌登录Parse的Chrome扩展程序。作为概念证明,我尝试使用curl跟随示例here,但是当我输入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应用程序上的设置并重新进行身份验证后,仍然会抛出同样的错误。

Using FB user to login on parse. Error code: 251, Invalid Sesion Error

Parse Facebook login fails with error code 251

为了记录,我尝试将我的“嵌入客户端的App Secret”Facebook设置改为false,以及我的“原生或桌面应用程序?”是和否(我很确定它应该设置为是,因为我正在使用桌面应用程序FB登录流程。)我还将我的Facebook应用程序添加到我的解析应用程序,并在解析时启用了Facebook集成,以及仔细检查我的解析应用程序和其他api密钥。

请让我知道我还应该尝试什么,或者您需要哪些其他信息来评估这一点。

1 个答案:

答案 0 :(得分:1)

我接近这个问题的方式有两个问题。

  1. 我正在通过将“Expires_in”字段(使用this FB login flow返回)添加到我的浏览器计算的当前时间来创建“Expires_at”字段。回想起来,这很愚蠢,因为到期时间应该是准确的,网络延迟会稍微改变计算时间。

  2. 我的请求使用了错误的Facebook ID - 现在有两种类型的ID,您需要使用正确的ID。 See this link.