使用 rest 连接到我在 kinvey 上的应用程序

connecting to my app on kinvey using rest

我正在尝试连接到我在 kinvey 上的应用程序。在浏览器中,我可以简单地使用:

https://baas.kinvey.com/appdata/<app_key>?app_secret=<secret>

我确实收到提示输入 app_key 和 app_secret 作为 uid 和密码,但至少我得到:

{
   version: "3.8.13",
   kinvey: "hello <my app name>",
   appName: "<My app name>",
   environmentName: "Development"
}

但是,从 python 开始,我不能。我得到的最接近的是:

requests.get('https://baas.kinvey.com/', headers={'app_key': app_key, 'app_secret': secret})

这会将我带到一个通用的 kinvey 'hello' 但不是我的应用程序。

我也试过

requests.get('https://baas.kinvey.com/' + app_key, headers={'app_key': app_key, 'app_secret': secret})

如果我尝试将 app_key + '?app_secret=' + secret 添加到 url,我会收到有关格式错误的 header/missing 凭据的错误消息。

想法?

向 Kinvey mbaas 请求添加凭据的正确方法是设置基本身份验证 header,如 here 所述。不支持使用您描述的 header。

此处的步骤是您使用 base64 编码的 appkey/appsecret 构建基本身份验证 header 以到达 "login" 端点,之后您将获得与活动用户相对应的 session 身份验证的 Kinvey 令牌。除了访问登录端点之外,没有匿名访问您的应用程序这样的事情。

基本上,这不是微不足道的。这就是为什么不建议直接使用 REST API,而是建议使用适合您的平台的特定 SDK。许多平台都有 SDK,包括 java/android、javascript、C#/xamarin、xcode/swift 等。在这些 SDK 中,您只需调用 "Kinvey.login" 或 "Kinvey.appdata.get" 等函数并且所有身份验证和所有离线、缓存等都为您处理。