Airdroid
跳转到导航
跳转到搜索
获取联系人列表
版本 1.1.0beta。
curl -sS --compressed 'http://192.168.1.52:8888/sdctl/contacts/group/has_phone?page=1&pcount=1000' -H 'Cookie: 7bb=xxx; keeplogin=00' | jshon -e content -u | base64 -d | ascii2uni -qaJ > contacts.json
导入联系人
版本 3.1.6。
#!/usr/bin/env python3
from json import dumps
import sys
from urllib.parse import quote
from base64 import b64encode
from subprocess import check_call
def main():
for l in sys.stdin:
name, phone = l.split()
phones = phone.split(',')
jsons = []
name_d = {
'mimetype': 'vnd.android.cursor.item/name',
'data1': name,
'data2': '',
'data3': '',
'data4': '',
'data5': '',
'data6': '',
}
note_d = {
'mimetype': 'vnd.android.cursor.item/note',
'data1': '通过 AirDroid 导入',
}
jsons.append(dumps(name_d))
for p in phones:
phone_d = {
'mimetype': 'vnd.android.cursor.item/phone_v2',
'data1': p,
'data2': '2',
}
jsons.append(dumps(phone_d))
jsons.append(dumps(note_d))
data_d = []
for j in jsons:
j = dumps({
'uri': 'content://com.android.contacts/data',
'values': j,
})
data_d.append({
'path': '/insert/',
'data': j,
'isEncode': 0,
})
data = dumps(data_d)
data = quote(b64encode(quote(quote(data)).encode('ascii')).decode('ascii'))
data = dumps({
'content': data,
})
data = quote(data)
cmd = ['curl', '-sS', '--compressed',
'http://phone_z3c:8888/sdctl/insercontacttwithbatch/?7bb=2e01880e0601ee90c3606d69109e344e¶ms=' + data]
check_call(cmd)
print('\ndone with %s' % name)
if __name__ == '__main__':
main()