gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:34:50 25 4
gpt4 key购买 nike

我已经阅读了 Twitter 文档,但肯定漏掉了一些东西。

用户身份验证和仅应用程序身份验证具有不同的速率限制和功能,但我正在努力掌握每种身份验证的用例。

用户身份验证是否仅适用于“使用 Twitter 登录”风格的应用程序,因此因为您代表用户行事,所以您可以做更多事情?

什么是仅应用程序身份验证?我已为我拥有的帐户手动生成了 key - 因为我在没有用户的情况下手动创建了该 key ,只是该应用程序吗?

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

最佳答案

2020 年 12 月更新:Twitter 最近推出的 API v2 以及与用户或应用身份验证相关的速率限制在 twitter official docs 中有更好的描述。 .

这意味着您可以使用应用程序身份验证用户身份验证 token 访问此 API 函数。在某些请求中,您只能使用用户身份验证 token 进行访问。

应用程序身份验证数量:是您的应用程序在 15 分钟窗口内可以使用“应用程序身份验证” token 执行的最大请求数。

用户身份验证数量:是您的应用在 15 分钟窗口内可以使用“用户身份验证” token 执行的最大请求数量。

您需要知道您的库/模块如何获得身份验证。 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)

通过其他方式,如果您想使用用户 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 ,因为使用身份验证 token ,您需要 .get_authorized_tokens(prompted_pin) 来进行新的 Twython 方法调用。这只是一个向您展示的示例需要 4 个 key / token 而不是 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 方法都支持仅应用程序身份验证。有些方法需要用户上下文。

编辑:

I could do with real world scenarios where you would use one over the other?

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

关于twitter - 用户身份验证和仅应用程序身份验证之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com