How do I bulk delete my Google Voice history?

0

1

How do I use JavaScript to bulk delete all my Google Voice messages quickly?

Geremia

Posted 2018-04-19T02:56:18.747

Reputation: 318

Answers

0

Run this in your browser's JavaScript console:

// Code to be run at Legacy Google Voice
//  Run at: https://www.google.com/voice/b/0#history
//          https://www.google.com/voice/b/0#spam
//          https://www.google.com/voice/b/0#trash
function sleep(ms) { // courtesy: https://stackoverflow.com/a/39914235/1429450
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function deleteMessages() {
    do {
        // Get message IDs.
        var msgs = document.getElementsByClassName("gc-message"),
            msgids = [];
        itemcount = msgs.length;
        for (var i = 0; i < itemcount; ++i) {
            msgids.push(msgs[i].id);
        };
        // Construct form. courtesy: https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects#Creating_a_FormData_object_from_scratch
        try {
            var formData = new FormData();
            for (var i in msgids) {
                formData.append("messages", msgids[i]);
            }
            formData.append("_rnr_se", _gcData["_rnr_se"]);
            var request = new XMLHttpRequest();
            request.open("POST", "https://www.google.com/voice/b/0/inbox/deleteForeverMessages/");
            request.send(formData);
        } catch (a) {
            return;
        }
        await sleep(1000);
        try {
            document.getElementById("gc-inbox-next").click();
        } catch (b) {
            try {
                document.getElementById("gc-inbox-prev").click();
            } catch (c) {
                continue;
            }
        }
        await sleep(1000);
    } while (itemcount != 0);
}
deleteMessages();

Geremia

Posted 2018-04-19T02:56:18.747

Reputation: 318