2

Skype 認証要求を自動的に処理するアプリを作成しようとしています。最終的な目的は、プラットフォーム ユーザーがプラットフォーム固有の Skype ユーザーにメッセージを送信して、個人の Skype ハンドルを添付および確認できるようにすることです。

具体的には、アプリ ユーザーの連絡先リストからユーザーを承認して削除することに関心があります。Linux Skype4Py の Python doc を徹底的に読みましたが、有用な方法は見つかりませんでした。権限のないユーザーの BuddyStatus を上書きしようとすると、次のようになります。

for user in skype.UsersWaitingAuthorization:
    print "User: " + user.Handle + " " + str(user.BuddyStatus) # note that _GetBuddyStatus() works here
    if not user.ReceivedAuthRequest.startswith("special-marker"):
        user.BuddyStatus = -1;

Traceback (most recent call last):
  File "gn-discovery-skype.py", line 60, in <module>
    user.BuddyStatus = -1;
  File "/usr/local/lib/python2.7/dist-packages/Skype4Py/user.py", line 80, in _SetBuddyStatus
    self._Property('BUDDYSTATUS', int(Value), Cache=False)
  File "/usr/local/lib/python2.7/dist-packages/Skype4Py/user.py", line 19, in _Property
    return self._Owner._Property('USER', self.Handle, PropName, Set, Cache)
  File "/usr/local/lib/python2.7/dist-packages/Skype4Py/skype.py", line 311, in _Property
    self._DoCommand('SET %s %s' % (jarg, value), jarg)
  File "/usr/local/lib/python2.7/dist-packages/Skype4Py/skype.py", line 281, in _DoCommand
    raise SkypeError(int(errnum), errstr)
Skype4Py.errors.SkypeError: [Errno 518] Invalid status given for BUDDYSTATUS

Skype (Skype4Py がステータスを受け入れるため) は、実際にはユーザー認証の制御を許可せず、実際の Skype ユーザーに厳密に任せているということでしょうか?

4

2 に答える 2

1

連絡先リストから誰かを削除したい場合は、1notを使用する必要があり-1ます。 BuddyStatus
の誰かでもエラーが発生します。それを試してみてください。 ただし、誰かを連絡先リストに追加する場合は、BuddyStatus を に変更する必要があります。 できます :)skype.Friends-1
2

于 2014-11-21T16:11:21.090 に答える
0
user._SetIsAuthorized(1) 

残りの作業はあなたに代わって行います

于 2014-11-21T20:43:22.727 に答える