2015-11-10 3 views
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-запрос

+1

это поможет, если вы разместите свой код (без секретного ключа) – yarons

+0

Отредактируйте, но вопрос был о restApi, чтобы опрокинуть проблему. Но если вы можете сделать это напрямую с кодом, который был бы большим :) – Nocide

+0

Вы также цепочки двоеточие (':') до конца вашего секретного ключа перед его кодировкой? – yarons

ответ

0

Чтобы решить проблему, я добавил (:), а также APP_ID должен b e в нижнем регистре, как: dr2h3525