因為之前已經試過用python呼叫skype api是可以運作的,但是真的要開始用的時候才想到,在Windows 10上可以使用,不代表在Windows Server or Linux Server上也可以使用,想要重新測試才發現已經忘得差不多了,程式也找不到,馬上記下來很重要,所以又花了一些時間整理後,馬上記下來,這次的實驗成果是
1.ubuntu server 20.04 可以使用
2.設定msn 應用程式密碼取得token 供 python使用
#pip install SkPy 光是這個字我就打了很多次因為skype,所以一直打成skyp少一個e,仔細看才發現後是skpy
from skpy import Skype
from skpy import SkypeAuthException
#取得token的方法,一開始以為應用程式密碼是token,自己存了一個檔案就一直出錯,第一次只要提供tokenfile的位置檔名,驗證成功就會寫入
def connect_skype(user, pwd, token):
s = Skype(connect=False)
s.conn.setTokenFile(token)
try:
s.conn.readToken()
except SkypeAuthException:
s.conn.setUserPwd(user, pwd)
s.conn.getSkypeToken()
s.conn.writeToken()
finally:
sk = Skype(user, pwd, tokenFile=token)
return sk
“”” 為了token取得,真的是花了好多時間,因為當初測試時沒有記錄下來,所以又花了很多時間尋找和測試,竟然沒有人寫出來,可能太簡單?!google產生的token可以直接使用,結果skype的產生的不是token而是password “””
要選擇應用程式密碼
#要記得按OK
#最重要的就是試了很多次的地方,密碼要把原來的密碼改成剛剛新增的應用程式密碼,再去產生token,密碼要換成應用程式密碼是重點
sk = connect_skype(“msn*******@*******.com”,”b********n”,”.tokens-app”)
# skype profile 中的id,不可以自己發給自己,我因為換發送帳號和沒有換接收帳號,多跑了三次才發現,也可以透過contacts查詢
contact = sk.contacts[‘live:.cid.9*************d’]
contact.chat.sendMsg(“test”)
#發送成功
參考:https://www.youtube.com/watch?v=mSY57sJ-2oM
留言
大佬, 请问一下。 .tokens-app 这个文件怎么生成的?找不到资料。希望得到回复呀。感谢 🙏
Hi Yuki, def connect_skype 這個function會判斷產生.tokens-app Warm regards, Edwin