我正在尝试使用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密钥。
请让我知道我还应该尝试什么,或者您需要哪些其他信息来评估这一点。
答案 0 :(得分:1)
我接近这个问题的方式有两个问题。
我正在通过将“Expires_in”字段(使用this FB login flow返回)添加到我的浏览器计算的当前时间来创建“Expires_at”字段。回想起来,这很愚蠢,因为到期时间应该是准确的,网络延迟会稍微改变计算时间。
我的请求使用了错误的Facebook ID - 现在有两种类型的ID,您需要使用正确的ID。 See this link.