获取聊天消息的ID

时间:2017-08-05 22:39:17

标签: applescript

我无法通过使用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的所需输出?

1 个答案:

答案 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