5

I want to delete about three text messages from Google Voice.

How, when I only see the option to delete the entire conversation?

| improve this question | | | | |
5

It seems like you can only delete entire conversations, based on this Google Voice issue about deleting SMS messages,

Google Voice is big on the Conversation, or "SMSThread" as we have named it. I do not think it is even possible to delete a specific message out of a conversation or SMSThread, you have to delete the whole thing.

I checked the Google Voice help page but it doesn't say much,

Here's how you can delete a text or voicemail message or a recorded call on the Google Voice website: Select the checkbox to the left of the message or call you want to delete. Click the Delete button at the top of the page.

There might be a workaround. I don't have any Google Voice SMS messages that I can access, in order to be certain (it was mentioned in the first URL above). When Google Voice says delete, it is moving the conversation to the Trash. To really delete the conversation, you have to empty the Trash. Once the whole conversation is in the Trash, you should be able to see the ID associated with each SMS message. That should allow you to delete just the messages you want, then you can undelete the rest of the conversation's messages that you want to keep.

I also noticed a way to count how many text messages you've sent but not deleted using Google Voice, just in case you want to keep a tally.

| improve this answer | | | | |
  • When you delete an SMS Thread from the Inbox, you delete the entire thread. Individual messages are not separated out in Trash either. It looks like it is not currently possible to delete individual SMS message from a Google Voice "SMS Thread" (grouped messages). – Kevan Sheridan Feb 3 '14 at 13:04
  • Hi Ellie. Is there a reason why you're culling some of your other answers? It's your right to do so, certainly, but I wanted to make sure there wasn't something that had happened. – jonsca Oct 13 '14 at 11:02
  • I think your answers here were fine. We certainly have no beef with you here, so I hope you change your mind. Happy to undelete any or all at any time in the future. – jonsca Oct 13 '14 at 12:25
  • @jonsca english.stackexchange.com/questions/202085/… I can't even communicate effecrtively apparently. i loved stackexchange for 4 years. you are sweet thank yiu foee your kind inquiry. you are thoughtful. – Ellie Kesselman Oct 13 '14 at 12:30
0

Use this, it works. Its been modified lightly from another answer: https://superuser.com/questions/1315287/how-do-i-bulk-delete-my-google-voice-history

Go to the page you want to start deleting at and use this in browser javascript console run snippet:

// 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) {
                continue;
            }
        await sleep(1000);
    } while (itemcount != 0);
}
deleteMessages();

Also, you have to manually terminate it.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.