Я звоню в Firebase, чтобы подписаться на тему, используя
https://iid.googleapis.com/iid/v1:batchAdd
как показано на
https://developers.google.com/instance-id/reference/server
Единственными зарегистрированными ошибками являются
NOT_FOUND — The registration token has been deleted or the app has been uninstalled.
INVALID_ARGUMENT — The registration token provided is not valid for the Sender ID.
INTERNAL — The backend server failed for unknown reasons. Retry the request.
TOO_MANY_TOPICS — Excessive number of topics per app instance.
Этот код работал отлично в течение нескольких месяцев и не был изменен. Однако по какой-то причине я вижу, что эта ошибка вернулась
PERMISSION_DENIED
Может кто-нибудь объяснить
а) почему я должен получить ошибку, которая не задокументирована и
б) что на самом деле указывает эта ошибка.
Спасибо
// This is the send part of the POST
string m_FirebaseServerKey = "<firebase server key for project goes here>";
string m_url = "https://iid.googleapis.com/iid/v1:batchAdd";
m_RegistrationToken = new string[] { appIID };
m_Topic = topic;
var request = WebRequest.Create(m_url);
// Add headers from parameters
request.Method = "POST";
request.ContentType = "application/json";
request.Headers["Authorization"] = "key=" + m_FirebaseServerKey ;
var RequestData = new
{
to = "/topics/" + m_Topic,
registration_tokens = m_RegistrationToken
};
// serialise
string SerializedRequest = SerializeContent(RequestData);
// send request
var stream = await request.GetRequestStreamAsync();
using (var writer = new StreamWriter(stream))
{
writer.Write(SerializedRequest);
writer.Flush();
writer.Dispose();
}