用户和仅限应用程序的身份验证之间的区别?

时间:2014-12-13 18:15:03

标签: twitter

我已经阅读过Twitter文档,但必须遗漏一些东西。

用户身份验证和仅限应用程序身份验证具有不同的速率限制和功能,但我很难处理每个用例的用例。

用户身份验证仅适用于“使用Twitter登录”风格的应用,因为您代表用户执行了更多操作吗?

什么是app only auth?我手动为我的帐户生成了一个密钥 - 因为我是手动创建的,而用户只是该应用程序?

很困惑!任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:5)

这意味着您可以使用 app auth 用户身份验证令牌来访问此API函数。在某些请求中,您只能使用 user auth 令牌进行访问。

应用验证号码:您的应用在15分钟的窗口中可以执行的最高请求数量,其中包含' app auth'令牌。

用户身份验证号码:在15分钟的时间内,您的应用可以执行的请求数量最多,其中包含用户身份验证'令牌。

您需要知道您的库/模块是如何获得身份验证的。 Source

编辑: App Auth和User Auth是API twitter can manage OAuth的两种方式。您可以使用Twython模块执行此python示例:

from twython import Twython

# App Auth
tw_auth = Twython(APP_KEY, APP_SECRET, oauth_version=2)
token = tw_auth.obtain_access_token()
twitter = Twython(APP_KEY, access_token=token)

通过其他方式,如果您要使用用户令牌进行身份验证:

from twython import Twython

# User Auth
tw_auth = Twython(APP_KEY, APP_SECRET)
token = tw_auth.get_authentication_tokens()
twitter = Twython(APP_KEY, APP_SECRET, auth['oauth_token'],
          auth['oauth_token_secret'])

(...最后一个方法is a bit longer,因为使用身份验证令牌,您需要.get_authorized_tokens(prompted_pin)进行新的Twython方法调用。这只是一个示例,表明您需要4个密钥/令牌而不是2)

现在,如果您提出请求,15分钟窗口的计数器取决于您的身份验证方式:

# Now you are authenticated with *App Auth* or *User Auth*
# Limits will be 450 for AppAuth and 180 for UserAuth in 15min window
results = twitter.search(q='StackOverflow',result_type='recent', count='10')

存在这些差异是因为并非所有API方法都支持仅应用程序身份验证。有些方法需要用户上下文。

修改:

  

我可以使用真实场景,你可以使用其中一个吗?

当然!看看这个chart about Twitter rate limits并进行比较。有时,您无法使用仅限appAuth的请求,例如与用户相关的操作。每个身份验证的限制是不同的,如果你想要GET statuses/user_timeline,你可能更喜欢AppAuth,但是如果你想要GET lists/members,你可能更喜欢UserAuth,因为它在速率限制方面有一些优势。

答案 1 :(得分:0)

区别:

用户身份验证:您可以向特定用户发送多少请求(它必须是一个logg用户,但是您发送请求以获取数据的任何用户)

app auth:您可以在15次胜利中提出的总请求中发送了多少请求,这意味着不依赖于特定用户。

相关问题