Удалить с помощью Yammer API. Проблема - «Скорость ограничена из-за чрезмерного количества запросов». - PullRequest
0 голосов
/ 26 мая 2020

При удалении комментария я могу удалить два комментария подряд, но когда я пытался удалить следующий комментарий (3-й комментарий). В консоли отображается ошибка «Скорость ограничена из-за чрезмерного количества запросов». Но через несколько секунд, когда я пытаюсь удалить, он отлично работает для следующих двух комментариев. Я попытался использовать функцию «подождать» в течение нескольких секунд, чтобы она заработала, но результат непостоянен. Иногда это работает, а иногда нет. Мой код выглядит следующим образом:

function deleteComment(MessagePostId) {
    var result = confirm("Are you sure you want to delete this Comment?");
    if (result) {
        yam.platform.request({
            url: "https://api.yammer.com/api/v1/messages/" + MessagePostId,
            method: "DELETE",
            async: false,
            beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', token) },
            success: function (res) {
                alert("The Comment has been deleted.");
                //Code to remove item from array and display rest of the comment to screen
            },
            error: function (res) {
                alert("Please try again after some time.");
            }
        })
    }
}

1 Ответ

1 голос
/ 26 мая 2020

Вы достигли ограничения скорости , что предотвращает множественные запросы на удаление от обычного пользователя, такие как те, которые вы нажали. API разработан для клиентских приложений, в которых вы, возможно, делаете случайное удаление, но не удаляете массово.

Для обработки ограничений скорости вам необходимо обновить код, чтобы проверить значение ответа в переменной res. Если это ответ HTTP 429, значит, скорость ограничена, и вам нужно подождать, прежде чем повторить исходный запрос.

...