有没有办法验证Skype用户名在网络应用中是否有效? (帐户创建时的表单验证)
有效我并不是指使用正则表达式。我们很容易检查它是否是6-22个字符,以字母开头等。我想验证1)输入的用户名实际上是调用用户输入它,类似于我们通过发送电子邮件验证电子邮件时验证它的链接或2)验证Skype数据库中是否存在具有该用户名的用户。
谢谢!
答案 0 :(得分:10)
这可能不太可靠,但以下端点会根据Skype用户名的可用性给出不同的响应:https://login.skype.com/json/validator。以下是(在撰写本文时)一个不可用且可用的用户名的两个示例:
# Request (unavailable):
curl -iX POST -H" Application/json" https://login.skype.com/json/validator?new_username=borist
# Response:
{
"status": 406,
"status_text": "valid",
"data": {
"markup": "Skype Name not available",
"alternatives": true,
"fieldDetails": "<label>Suggestions<\/label><ul><li><label><input class=\"skypeNameSuggestion\" type=\"radio\" name=\"selectSkypeName\" value=\"borist92\"\/>borist92<\/label> <\/li><li><label><input class=\"skypeNameSuggestion\" type=\"radio\" name=\"selectSkypeName\" value=\"borist176\"\/>borist176<\/label> <\/li><li><label><input class=\"skypeNameSuggestion\" type=\"radio\" name=\"selectSkypeName\" value=\"borist417\"\/>borist417<\/label> <\/li><\/ul>"
}
}
# Request (available)
curl -iX POST -H" Application/json" https://login.skype.com/json/validator?new_username=boris3294a
# Response
{
"status":200,
"status_text":"valid",
"data":{"markup":"",
"alternatives":false,
"fieldDetails":""}
}
答案 1 :(得分:1)
我想你必须完全按照你所说的做法:“类似于我们通过发送电子邮件验证电子邮件时发送的电子邮件验证它”
我会深入研究Skype4py,你会找到一个搜寻某人的例子。
所以你可以这样做:
请参阅:need an python script that uses skype4py to send an instant message
答案 2 :(得分:1)
根据pho79的回答,我做了a gist。代码只是检查返回的消息是否表明该名称不可用,这意味着它正在使用中。还有一些其他消息会发回其他错误,所以这就是我的用途。
import requests
def checkName(name):
values = { "new_username" : name }
r = requests.post("https://login.skype.com/json/validator", values)
return "not available" in r.json()[u'data'][u'markup']