0

我正在使用最后一个 python api 测试 simperium:

从 simperium.core 导入验证

# Global CONST
SIMPERIUM_APP_ID = "..."
SIMPERIUM_API_KEY = "..."
USER_NAME = 'test@test.com'
USER_PWD = 'test'

def newUser(user, pwd):
    auth = Auth(SIMPERIUM_APP_ID, SIMPERIUM_API_KEY)
    print user, pwd
    return auth.create(user, pwd)

def login(user, pwd):
    auth = Auth(SIMPERIUM_APP_ID, SIMPERIUM_API_KEY)
    print user, pwd
    return auth.authorize(user, pwd)

def getApi(auth_token):
    return Api(SIMPERIUM_APP_ID, auth_token)
print newUser(USER_NAME, USER_PWD):
token = login(USER_NAME, USER_PWD)
print token
print getApi(token)

用户是使用有效令牌创建的,但登录失败,请进入auth.authorize

Traceback (most recent call last):   File "/Users/**/Proyectos/**/testdata.py", line 22, in <module>
    token = login(USER_NAME, USER_PWD)   File "/Users/**/Proyectos/***/testdata.py", line 17, in login
    return auth.authorize(user, pwd)   File "/Library/Python/2.7/site-packages/simperium/core.py", line 59, in authorize
    response = self._request(self.appname+'/authorize/', data)   File "/Library/Python/2.7/site-packages/simperium/core.py", line 40, in
_request
    response = urllib2.urlopen(request)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
    response = meth(req, response)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
    return self._call_chain(*args)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
    result = func(*args)   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 401: UNAUTHORIZED
4

2 回答 2

2

在你的 newUser 函数中,

return auth.create('email@address.com', 'password')

应该:

return auth.create(user, pwd)
于 2012-06-07T06:24:11.283 回答
0

看起来我缩小了问题的范围。

如果我使用输入的相同电子邮件作为应用程序的用户订阅 simperium,它会拒绝登录,但如果将其更改为其他任何内容,它就可以工作(这是我为发布示例代码而更改的内容。)

所以,我订阅了“sample@sample.com”,它让创建用户(不返回,但在数据浏览中可见)但验证失败。但是,将其更改为“sample@sample.net”可以正常工作。

于 2012-06-07T15:14:54.557 回答