2

こんにちは、python>Twitter api:s のさまざまなオプションを評価し始めたところです。

Twython パッケージの例を見ていくつかのコードを書きましたが、常に同じエラーが発生します。

AttributeError: 'Twython' object has no attribute 'auth'

含まれている core_example ファイルを実行しても同じエラーが発生します。

私はgitから「2.0.0」を実行しています。

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /Users/skjortan/dev/trunk/3rdPartyLibs/twython/core_examples/current_trends.py
Traceback (most recent call last):
  File "/Users/skjortan/dev/trunk/3rdPartyLibs/twython/core_examples/current_trends.py", line 5, in <module>
    trends = twitter.getCurrentTrends()
  File "/Library/Python/2.7/site-packages/twython-2.0.0-py2.7.egg/twython/twython.py", line 167, in <lambda>
    return lambda **kwargs: self._constructFunc(key, **kwargs)
  File "/Library/Python/2.7/site-packages/twython-2.0.0-py2.7.egg/twython/twython.py", line 188, in _constructFunc
    content = self._request(url, method=method, params=kwargs)
  File "/Library/Python/2.7/site-packages/twython-2.0.0-py2.7.egg/twython/twython.py", line 205, in _request
    response = func(url, data=myargs, auth=self.auth)
AttributeError: 'Twython' object has no attribute 'auth'

プロセスは終了コード 1 で終了しました

4

3 に答える 3

2

あなたの質問に気づきました - 私は Twython の作者です。修正がコミットされ、2.0.1 リリースにプッシュされました。インストールを更新すると、これは問題になりません。

ありがとう、お手数おかけしてすみません!2.0.0 リリースですり抜けたバグ。

于 2012-05-24T09:17:57.313 に答える
0

どうやらtwitter apiであり、通常のログインを許可していません.oauthのた​​めだけに、TwitterとOAuth設定タブでアプリケーションを作成し、そこからOAuth設定からデータを取得し、oauthのメソッドを次の場所に取得します。

http://pydoc.net/twython/1.4.5/twython.twitter_endpoints

于 2012-05-21T08:03:44.243 に答える
0

しかし、実際には「auth」属性はありませんが、次のようなメソッドがあります。

def get_authentication_tokens(self):
    """Returns an authorization URL for a user to hit."""

def get_authorized_tokens(self):
    """Returns authorized tokens after they go through the auth_url phase.""" 

そして、これは django-twython のサンプルであり、その作成者が認証を行う方法

def begin_auth(request):
    """
    The view function that initiates the entire handshake.
    For the most part, this is 100% drag and drop.
    """
    # Instantiate Twython with the first leg of our trip.
    twitter = Twython(
    twitter_token = settings.TWITTER_KEY,
    twitter_secret = settings.TWITTER_SECRET,
    callback_url =     request.build_absolute_uri(reverse('twython_django_oauth.views.thanks')))

    # Request an authorization url to send the user to...
    auth_props = twitter.get_authentication_tokens()

    # Then send them over there, durh.
    request.session['request_token'] = auth_props
    return HttpResponseRedirect(auth_props['auth_url'])
于 2012-05-21T07:57:26.950 に答える