2016-05-18 65 views
1

在Parse.com REST API documentation它这样说:如何在Parse.com REST API使用客户端密钥,而不是REST API密钥的Android请求

你不应该使用在客户端应用程序的REST API密钥(即您分发给您的客户的代码)。如果Parse SDK可用于您的客户端平台,我们建议使用我们的SDK而不是REST API。如果您必须直接从客户端调用REST API,则应该为该平台使用相应的客户端解析密钥(例如iOS/Android的客户端密钥或Windows/Xamarin/Unity的.NET密钥)。

在我改造的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密钥不推荐使用。建议使用Android的客户端密钥。如果我使用Client密钥进行身份验证,标题应该如何显示?有没有客户端应用程序使用客户端密钥而不是Rest API键的例子?

回答

0

简短回答:在您的REST调用中使用标头X-Parse-Client-Key

充分说明:当你看看解析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";