Получение ошибки= отсутствующая регистрация при отправке HTTPPOST в GCM с помощью скрипта Google Apps

StackOverflow https://stackoverflow.com//questions/25024045

Вопрос

Я пытаюсь отправить HTTP POST на сервер GCM с помощью скрипта приложений Google.У меня есть идентификатор устройства и правильные учетные данные.Вот код, который я использую:

function doThat(){
  var url = "https://android.googleapis.com/gcm/send";
  var options = {
    "method": "post",
    "headers": {
      "Authorization": "key=myAPIKEY",
      "Content-Type":"application/json"
    },
    "payload": {
      "data": {
        "score": "5x1",
        "time": "15:10"
      },
      "registration_ids": ["regid1"]
    }
  };
  var response = UrlFetchApp.fetch(url, options);
  Logger.log("Response: "+response.toString());
}
.

Здесь, myapikey and Regid1 - держатели места. Эквивалентный код Java работает хорошо для этого.Следовательно, нет проблем с полномочиями. Я прошел через Это ссылка на Android документации , чтобы найти формат JSON, который будет отправленНа сервере GCM AS (те, кто редактируют этот код ниже, отмечают, что ключи API и другие напрямую взяты из этого Ссылка на сайте Android GCM. Это не мое. Так что не меняйте его):

    Content-Type:application/json
Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA

{
  "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
  "data" : {
    ...
  },
}
.

Примечание: если Я всегда получаю «Ошибка= отсутствующую регистрацию» в операторе Vogger.log () в журналах выполнения.Код Java Equivalent работает идеально.Но Google Script дает эту ошибку. Так что здесь не так?

Это было полезно?

Решение

Я думаю, что вам нужно установить AdventType Advanced Argage и строгая свою полезную нагрузку.Смотрите этот образец для указателей:

https://github.com/entaq/googleapssscript/blob/Master / Android / SharedDB.gs

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top