0

私は最後のPythonAPIでsimperiumをテストしています:

simperium.coreからimportAuth

# 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 に答える