0
Я пытаюсь отправить запрос с RestClient на https://push.ionic.io/api/v1/push. Я следую всем инструкциям http://docs.ionic.io/docs/push-api-examples. Я изменить свой секретный ключ к base64 с www.base64encode.org, но в конце возвращение:Невозможно аутентифицировать Ионное нажатие
{
"result": "error",
"message": "Unable to Authenticate"
}
вот JSON Отправляющий:
{
"tokens":"fRB8B55UKS8:APA91bHjfNL7TJuAFzJKEQHSb4717__Ezz-nNvhSTgBdzuBhLz70P95S7lXDb46jfA6pZE-OWOdL-RCBBX0tnDCB7NZR0Og4YXcX5kvWlURwDfYfsH361ImJsdPap42JUr-wnkNqj0St",
"notification":{
"alert":"Hello World!",
"ios":{
"badge":1,
"sound":"ping.aiff",
"expiry": 1423238641,
"priority": 10,
"contentAvailable": 1,
"payload":{
"key1":"value",
"key2":"value"
}
},
"android":{
"collapseKey":"foo",
"delayWhileIdle":true,
"timeToLive":300,
"payload":{
"key1":"value",
"key2":"value"
}
}
}
}
Edit:
public static void push(String notification){
String str = "{\"tokens\": [\"fRB8B55UKS8:APA91bHjfNL7TJuAFzJKEQHSb4717__Ezz-nNvhSTgBdzuBhLz70P95S7lXDb46jfA6pZE-OWOdL-RCBBX0tnDCB7NZR0Og4YXcX5kvWlURwDfYfsH361ImJsdPap42JUr-wnkNqj0St\"],\"production\": true, \"notification\":{ \"alert\":\"azr\", \"title\": \"TOTO\", \"android\": {\"payload\": {}}, \"ios\": {\"payload\": {}}}}";
Promise<String> promise = WS.url(PUSH_URL)
.setContentType("application/json")
.setHeader("X-Ionic-Application-Id", APP_ID)
.setHeader("Authorization", "Basic " + new String(SECRET_ENCODED))
.post(str)
.map(
new Function<WS.Response, String>() {
public String apply(WS.Response response) {
String result = response.getBody();
return result;
}
});
String boo;
long timeout = 2000l;
boo = promise.get(timeout);
}
Я использую схему воспроизведения, чтобы сделать http-запрос
это поможет, если вы разместите свой код (без секретного ключа) – yarons
Отредактируйте, но вопрос был о restApi, чтобы опрокинуть проблему. Но если вы можете сделать это напрямую с кодом, который был бы большим :) – Nocide
Вы также цепочки двоеточие (':') до конца вашего секретного ключа перед его кодировкой? – yarons