如何在Parse.com Rest Api请求中使用客户端密钥替代Rest Api密钥来进行Android开发?

3
在 Parse.com Rest API 文档 中提到:
您不应在客户端应用程序(即分发给客户的代码)中使用 REST API 密钥。 如果您的客户端平台可用 Parse SDK,则建议使用我们的 SDK 而不是 REST API。 如果您必须直接从客户端调用 REST API,则应使用该平台的相应客户端 Parse 密钥(例如,iOS / Android 的客户端密钥,或 Windows / Xamarin / Unity 的 .NET 密钥)。
在我的 retrofit api 中,我有以下带有标头的代码:
  @Headers({"X-Parse-Application-Id: " + ParseEndPointConfig.PARSE_APPLICATION_ID, "X-Parse-REST-API-Key: " + ParseEndPointConfig.PARSE_CLIENT_KEY})
  @POST("classes/Xxx")
  Observable<XxxParseObject> createXxx(@Body XxxParseObject circle);

如文档所述,不建议使用Rest Api Key。建议在Android中使用Client key。如果我使用Client key进行身份验证,标题应该是什么样子的?是否有使用Client key而不是Rest Api key的客户端应用程序示例?

1个回答

1

简短回答:在你的 REST 调用中使用请求头 X-Parse-Client-Key

详细解释:当你查看 Parse REST 文档时,经常会看到像这样的示例:

curl -X POST \
  -H "X-Parse-Application-Id: ${APPLICATION_ID}" \
  -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
  https://api.parse.com/1/classes/GameScore

注意解析头部是以X-Parse-开头的。我之前需要弄清如何使用dotNET密钥来使用parse-push-plugin。凭直觉,我在dotNET SDK中搜索了X-Parse-,并发现标题是X-Parse-Windows-Key
使用Java SDK进行相同操作,您将在ParseRESTCommand.java中找到以下声明。
static final String HEADER_APPLICATION_ID = "X-Parse-Application-Id";
static final String HEADER_CLIENT_KEY = "X-Parse-Client-Key";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接