【发布时间】:2014-08-25 05:45:25
【问题描述】:
我在 Parse.com 云中创建了一个数据库。我现在需要在我的 Google App Engine 应用程序中编写一个 Servlet 来调用 Parse 上的 REST 服务。 REST 服务需要 用户身份验证,即 Parse 应用程序 ID 和 Javascript 密钥。
...
URL url = new URL("https://api.parse.com/1/classes/OBJECT");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Content-Type", "application/json");
Base64 enc = new Base64();
String userpassword = "{PARSE_APP_ID}" + ":" + "javascript-key={PARSE_JS_KEY}";
String encodedAuthorization = enc.encodeBase64String(userpassword.getBytes());
connection.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
connection.setRequestMethod("GET");
...
我使用 org.apache.commons.codec.binary.Base64 进行编码以使 REST 调用经过身份验证。
Parse.com REST API 建议使用以下请求格式进行 HTTP 调用:
https://myAppID:javascript-key=myJavaScriptKey@api.parse.com/1/classes/GameScore/Ed1nuqPvcm
问题是我一直在得到
{"错误":"未授权"}
有没有人有调用经过身份验证的 REST 服务的经验?谢谢!
编辑。
URL url = new URL("https://api.parse.com/1/classes/OBJECT");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("X-Parse-Application-Id", "{APP_ID}");
connection.setRequestProperty("X-Parse-REST-API-Key", "REST_ID");
connection.setRequestProperty("Content-Type", "application/json");
当 responseCode 为“200”时,我仍然遇到同样的错误。
干杯,
【问题讨论】:
标签: google-app-engine rest servlets parse-platform httpurlconnection