前言

搞了个Google Voice用,想起刚开始的时候免费送的号码无声无息就被收回了,整理下保号的问题。保号也就是说怎么长期的能够使用它不被谷歌回收,具体政策可以去翻下 Google Voice的TOS

Google Voice 号码回收规则

Account Inactivity

Google may reclaim your Google Voice number (if you have one) if you have not placed or received calls, sent or received text messages for a period of 6 months. We will not reclaim numbers that have been ported in to Google Voice or made permanent.

中文版的TOS里写的是9个月不活动,大概是翻译更新不及时,以英文版为准,6个月不收发短信,也不接打语音就视为死号,然后会被谷歌回收。

保号措施

针对TOS中提到的回收规则,那相应的就是在回收到期前:

  1. 收发短信
  2. 接打语音电话

建议大家每月都发送短信或者电话可以找朋友也可以去专业的保号群,就相当于跟朋友一起互动了。你如果有多个GV号互相发信息或者打电话也可以起保号作用。

发送信息

给号码 22122 发短信,内容为 JOIN ,稍后将回复你信息订阅成功,每月2条。

Starbucks: This is a test. Thanks for participating.

(2msg/mo). Text STOP to end, HELP for help + T&C’s. Msg&Data rates may apply.

其他订阅号码:

订阅号码 发送指令 收到回复内容 信息频率
555444 SIGNUP 6msgs/mo
22122 JOIN 2msg/mo
527365 join 8msg / mo
25666 先发code 然后回复PROMO
47272 START 6msgs/mo
22000 info 秒回
22000 help 稍回

拨打语音

拨打各种客服热线,比如苹果,微软,亚马逊等等,这些美国或加拿大的号码都免费的

厂商 号码
微软客服 +1-(800)642-7676
Apple客服 +1-(800)275-2273
亚马逊客服 +1-(206)266-2992

自动回复短信

利用 GmailApp 功能,实现收到消息后自动回复短信,具体教程就不重复写了,推荐一篇图文教程自己去看:Google Voice 保号/自动发送及回复信息

在使用过程中,可能会出现错误如:

错误:TypeError: Cannot read property ‘getUnreadCount’ of null
at autoReplier(Auto_Replier:11:32)

出现这个错误,就如下文的代码注释,注意标签嵌套的问题,只支持父标签。

错误:ReferenceError: e is not defined
at autoReplier(Auto_Replier:38:42)

跟上面的错误一致,都是因为 labelObj 赋值不成功值为空。

保存设置完定时器后,自己给自己发条短信都能测试,或者给 站长的Google Vioce 发个试试?

抄了上面链接中的代码,按自己的需求填充些内容,完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
function autoReplier() {
var labelObj = GmailApp.getUserLabelByName("googlevoice"); //注意这个标签不能嵌套,也就是必须是父标签
var gmailThreads;
var messages;
var messagecount;
var sender;
var num = 3; //为防止两人都是自动回复,当发送次数达到时将不自动回复
var hours = 12; //过了多少小时后又可以自动回复。

try {
for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {
gmailThreads = labelObj.getThreads()[gg];
messages = gmailThreads.getMessages();
messagecount = gmailThreads.getMessageCount();
//console.log(messages[messagecount - 9].getDate() + " time");
for (var ii = 0; ii < messages.length; ii++) {

if (messages[ii].isUnread()) {

msg = messages[ii].getPlainBody();
sender = messages[ii].getFrom();

array = [
["人生如逆旅,我亦是行人。--苏轼「临江仙·送钱穆父」"],
["曾经沧海难为水,除却巫山不是云。--元稹「离思五首·其四」"],
["两情若是久长时,又岂在朝朝暮暮。--秦观「鹊桥仙·纤云弄巧」"],
["人生自是有情痴,此恨不关风与月。--欧阳修「玉楼春·尊前拟把归期说」"],
["身无彩凤双飞翼,心有灵犀一点通。--李商隐「无题·昨夜星辰昨夜风」"],
["众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。--辛弃疾「青玉案·元夕」"],
["抽刀断水水更流,举杯销愁愁更愁。--李白「宣州谢脁楼饯别校书叔云 / 陪侍御叔华登楼歌」"],
["今人不见古时月,今月曾经照古人。--李白「把酒问月·故人贾淳令予问之」"],
["人间有味是清欢。--苏轼「浣溪沙·细雨斜风作晓寒」"],
["近水楼台先得月,向阳花木易为春。--苏麟「断句」"],
["菩提本无树,明镜亦非台。--惠能「菩提偈」"],
["纸上得来终觉浅,绝知此事要躬行。--陆游「冬夜读书示子聿」"],
["时人不识凌云木,直待凌云始道高。--杜荀鹤「小松」"],
["粗缯大布裹生涯,腹有诗书气自华。--苏轼「和董传留别」"],
["人生到处知何似,应似飞鸿踏雪泥。--苏轼「和子由渑池怀旧」"],
["世事短如春梦,人情薄似秋云。--朱敦儒「西江月·世事短如春梦」"],
["年年岁岁花相似,岁岁年年人不同。--刘希夷「代悲白头翁 / 白头吟 / 有所思」"],
["梅须逊雪三分白,雪却输梅一段香。--卢梅坡「雪梅·其一」"],
["沉舟侧畔千帆过,病树前头万木春。--刘禹锡「酬乐天扬州初逢席上见赠」"],
["长风破浪会有时,直挂云帆济沧海。--李白「行路难·其一」"],
["世人结交须黄金,黄金不多交不深。--张谓「题长安壁主人」"],
["同是天涯沦落人,相逢何必曾相识。--白居易「琵琶行 / 琵琶引」"],
["落红不是无情物,化作春泥更护花。--龚自珍「己亥杂诗·其五」"],
["知我者,谓我心忧。不知我者,谓我何求。--佚名「黍离」"],
["一点浩然气,千里快哉风。--苏轼「水调歌头·黄州快哉亭赠张偓佺」"],
["夕阳无限好,只是近黄昏。--李商隐「乐游原 / 登乐游原」"],
["射人先射马,擒贼先擒王。--杜甫「前出塞九首·其六」"],
["凭君莫话封侯事,一将功成万骨枯。--曹松「己亥岁感事」"],
["采得百花成蜜后,为谁辛苦为谁甜。--罗隐「蜂」"],
["竹外桃花三两枝,春江水暖鸭先知。--苏轼「惠崇春江晚景 / 惠崇春江晓景」"],
["月有盈亏花有开谢,想人生最苦离别。--张鸣善「普天乐·咏世」"],
["今朝有酒今朝醉,明日愁来明日愁。--罗隐「自遣」"],
["春蚕到死丝方尽,蜡炬成灰泪始干。--李商隐「无题·相见时难别亦难」"],
["人似秋鸿来有信,事如春梦了无痕。--苏轼「正月二十日与潘郭二生出郊寻春忽记去年是日同至女王城作诗乃和前韵」"],
["蝉噪林逾静,鸟鸣山更幽。--王籍「入若耶溪」"],
["等闲识得东风面,万紫千红总是春。--朱熹「春日」"],
["万事到头都是梦,休休。明日黄花蝶也愁。--苏轼「南乡子·重九涵辉楼呈徐君猷」"],
["天生我材必有用,千金散尽还复来。--李白「将进酒」"],
["宣父犹能畏后生,丈夫未可轻年少。--李白「上李邕」"],
["山重水复疑无路,柳暗花明又一村。--陆游「游山西村」"],
["草木有本心,何求美人折。--张九龄「感遇十二首·其一」"],
["松树千年终是朽,槿花一日自为荣。--白居易「放言五首·其五」"],
["莫道桑榆晚,为霞尚满天。--刘禹锡「酬乐天咏老见示」"],
["人生天地间,忽如远行客。--佚名「青青陵上柏」"],
["海内存知己,天涯若比邻。--王勃「送杜少府之任蜀州 / 送杜少府之任蜀川」"],
["尔曹身与名俱灭,不废江河万古流。--杜甫「戏为六绝句·其二」"],
["古人学问无遗力,少壮工夫老始成。--陆游「冬夜读书示子聿」"],
["会当凌绝顶,一览众山小。--杜甫「望岳」"],
["江山代有才人出,各领风骚数百年。--赵翼「论诗五首·其二」"],
["疾风知劲草,板荡识诚臣。--李世民「赐萧瑀」"],
["试玉要烧三日满,辨材须待七年期。--白居易「放言五首·其三」"],
["夫天地者,万物之逆旅也。光阴者,百代之过客也。--李白「春夜宴桃李园序 / 春夜宴从弟桃花园序」"],
["不畏浮云遮望眼,自缘身在最高层。--王安石「登飞来峰」"],
["博观而约取,厚积而薄发,吾告子止于此矣。--苏轼「稼说送张琥」"],
["人生无根蒂,飘如陌上尘。--陶渊明「杂诗」"],
["行路难,不在水,不在山,只在人情反覆间。--白居易「太行路」"],
["花开堪折直须折,莫待无花空折枝。--佚名「金缕衣」"],
["人生得意须尽欢,莫使金樽空对月。--李白「将进酒」"],
["世界微尘里,吾宁爱与憎。--李商隐「北青萝」"],
["非淡泊无以明志,非宁静无以致远。--诸葛亮「诫子书」"],
["时来天地皆同力,运去英雄不自由。--罗隐「筹笔驿」"],
["不识庐山真面目,只缘身在此山中。--苏轼「题西林壁」"],
["半亩方塘一鉴开,天光云影共徘徊。--朱熹「活水亭观书有感二首·其一」"],
["安能摧眉折腰事权贵,使我不得开心颜。--李白「梦游天姥吟留别 / 梦游天姥山别东鲁诸公」"],
["居高声自远,非是藉秋风。--虞世南「蝉」"],
["历览前贤国与家,成由勤俭破由奢。--李商隐「咏史二首·其二」"],
["只在此山中,云深不知处。--贾岛「寻隐者不遇 / 孙革访羊尊师诗」"],
["少壮不努力,老大徒伤悲。--佚名「长歌行」"],
["休言万事转头空,未转头时皆梦。--苏轼「西江月·平山堂」"],
["长恨人心不如水,等闲平地起波澜。--刘禹锡「竹枝词九首」"],
["万一禅关砉然破,美人如玉剑如虹。--龚自珍「夜坐二首」"],
["生年不满百,常怀千岁忧。--佚名「生年不满百」"],
["夫君子之行,静以修身,俭以养德。--诸葛亮「诫子书」"],
["而浮生若梦,为欢几何。--李白「春夜宴桃李园序 / 春夜宴从弟桃花园序」"],
["纵浪大化中,不喜亦不惧。--陶渊明「形影神三首」"],
["草萤有耀终非火,荷露虽团岂是珠。--白居易「放言五首·其一」"],
["古人今人若流水,共看明月皆如此。--李白「把酒问月·故人贾淳令予问之」"],
["古今多少事,都付笑谈中。--杨慎「临江仙·滚滚长江东逝水」"],
["衰兰送客咸阳道,天若有情天亦老。--李贺「金铜仙人辞汉歌」"],
["人间万事,毫发常重泰山轻。--辛弃疾「水调歌头·壬子三山被召陈端仁给事饮饯席上作」"],
["世间行乐亦如此,古来万事东流水。--李白「梦游天姥吟留别 / 别东鲁诸公」"],
["少年易老学难成,一寸光阴不可轻。--朱熹「偶成」"],
["世事浮云何足问,不如高卧且加餐。--王维「酌酒与裴迪」"],
["有匪君子,如切如磋,如琢如磨。--佚名「淇奥」"],
["横看成岭侧成峰,远近高低各不同。--苏轼「题西林壁」"],
["家国兴亡自有时,吴人何苦怨西施。--罗隐「西施」"],
["沧浪之水清兮,可以濯我缨。--佚名「沧浪歌」"],
["得即高歌失即休,多愁多恨亦悠悠。--罗隐「自遣」"],
["人生在世不称意,明朝散发弄扁舟。--李白「宣州谢脁楼饯别校书叔云」"],
["是非成败转头空。--杨慎「临江仙·滚滚长江东逝水」"],
["莫等闲,白了少年头,空悲切。--岳飞「满江红·写怀」"],
["文章本天成,妙手偶得之。--陆游「文章」"],
["莫道谗言如浪深,莫言迁客似沙沉。--刘禹锡「浪淘沙九首」"],
["假金方用真金镀,若是真金不镀金。--李绅「答章孝标」"],
["来如春梦几多时,去似朝云无觅处。--白居易「花非花」"]
];
var j = Math.floor(Math.random() * (array.length));
var temp = array[j];

if (messagecount < num){
MailApp.sendEmail(sender, "Google Voice Auto Reply", temp);
}else if( (messages[messagecount - 1].getDate().getTime() - messages[messagecount - num].getDate().getTime()) > hours * 60 * 60 * 1000 ){
MailApp.sendEmail(sender, "Google Voice Auto Reply", "亲,我们已经发了好几条信息哟,可以停下来休息休息一下了!");
}
messages[ii].markRead();
messages[ii].moveToTrash();
}
}
}
} catch (err) {
console.error('for loop error: ' + e);
}
}