Firebase APN push-уведомление TypeError: Содержимое заголовка содержит недопустимые символы - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу отправить push-уведомление от триггера с помощью firebase на яблочный iPhone с помощью машинописи.

https://firebase.google.com/docs/cloud-messaging/http-server-ref

https://firebase.google.com/docs/cloud-messaging/ios/certs

Я попытался сгенерировать новый ключ закрытых сервисов и загрузить его в свой исходный код (что, я знаю, делать не рекомендуется) - чтобы я мог обойти ошибку 401. Я получил ошибку 401, но теперь у меня есть

TypeError: The header content contains invalid characters

Кто-нибудь еще считает странным, что типом является json, но заголовок написан со знаком равенства?

В шапке я пробовал:

Authorization:key=encodeURIComponent(token) 

Чтобы увидеть, исправит ли кодировка компоненты заголовок.

Полный код ниже

        import * as service_account from "../utility/dev-service-account"


        let token = service_account.default.private_key;
        const json = {"validate_only":"false","message":{"apns":"..4D81CBF73A1374ADD8327D2FAE87885AC0D9A1A16FA55F8264660284CF1AEB", "notification" : {"title":"hi","body":"no"}}};
        const url   = "https://fcm.googleapis.com/fcm/send";
        const auth  = `key=${token}`;
        let instance = axios.default.create(
        {
            headers: 
            {
                post: 
                {
                    "Content-Type":     'application/json',
                    Authorization:      auth 
                }
            }
        });

        await instance.post(url, json).then(function (response) 
        {
            console.log("post success", response);
        }).catch(function (error) 
        {
            console.log("post failed ", error);
        });

фактическим результатом должно быть «успешное» возвращение моего запроса axios и push-уведомление на мой телефон.

Не думаю, что я что-то изменил, и теперь я получаю 401 ошибку, так что я понятия не имею, что случилось.

...