我无法通过使用Applescripts获取短信聊天的ID。
到目前为止,这是我的代码:
using terms from application "Messages"
on message sent theMessage for theChat
display dialog (get id of theChat)
end message sent
end using terms from
当我使用Applescript Handler时,出现错误:
Can’t get id of «class ictt» id "iMessage;-;+1xxxxxxxxxx". (-1728)
(x代替电话号码)
如何避免此错误并获得仅iMessage;-;+1xxxxxxxxxx
的所需输出?
答案 0 :(得分:0)
我不确定触发此错误是什么,但我找到了可靠的解决方法。我将语句放在try块中,并从错误消息中解析id。
on splitText(sourceText, textDelimiter)
set AppleScript's text item delimiters to {textDelimiter}
set messageParts to (every text item in sourceText) as list
set AppleScript's text item delimiters to ""
return messageParts
end splitText
try
set myresult to get id of theChat
on error errMsg
set errMsgParts to splitText(errMsg, "\"")
set errCount to count of errMsgParts
set myresult to item (errCount - 1) of errMsgParts
end try
这通过解析文本以仅从引号之间获取id来起作用。拆分文本功能取自here。