- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Twitter 帐户和一个应用程序,目前它的设置是为了让学生可以从我们的网站发推文,因此他们的推文会在推文底部显示“via SchoolAppNameHere”。
是否可以使用 Twython 来使用 Appkey 和 key ,然后从一个完全不同的地方获取身份验证 token ,所以当我运行下面的代码时,它会从一个没有创建应用程序的帐户发送推文。 ..
from twython import Twython
APP_KEY = ''
APP_SECRET = ''
OAUTH_TOKEN = ''
OAUTH_TOKEN_SECRET = ''
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
twitter.update_status(status="test")
任何想法将不胜感激:)
假设以下图片来自帐户“stackoverflowapp”和名为“Stackoverflow Test App”的应用:
使用以下代码会通过名为“Stackoverflow Test App”的应用程序从帐户“stackoverflowapp”发送推文“test”
from twython import Twython
APP_KEY = 'coN_kEY_123456789'
APP_SECRET = 'cOn_sEcr3t_123456789'
OAUTH_TOKEN = 'Acc3ss_tok3N_123456789'
OAUTH_TOKEN_SECRET = 'aCCeSS_tOkEn_sEcrET_123456789'
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
twitter.update_status(status="test")
假设下图来自帐户“useraccount1”,应用名为“testing123”:
现在我有了登录帐户“useraccount1”的访问 token ,我如何通过用户创建的名为“Stackoverflow 测试应用程序”的应用程序发送推文:“stackoverflowapp”我尝试的示例如下:
from twython import Twython
APP_KEY = 'coN_kEY_123456789'
APP_SECRET = 'cOn_sEcr3t_123456789'
OAUTH_TOKEN = 'Acc3ss_123456789'
OAUTH_TOKEN_SECRET = 'aCCeSS_sEcrET_123456789'
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
twitter.update_status(status="test update")
不幸的是,我得到了错误:
TwythonAuthError: Twitter API returned a 401 (Unauthorized), Could not authenticate you
最佳答案
这当然是可能的。当您在 Twitter 中创建应用程序时,他们会为您提供自己的身份验证 token ,以供您立即使用,以方便起见。
Use the access token string as your "oauth_token" and the access token secret as your "oauth_token_secret" to sign requests with your own Twitter account. Do not share your oauth_token_secret with anyone.
要为同一应用程序的其他帐户获取 key ,您需要为每个帐户请求更多 key 。此处对此进行了详细描述:https://dev.twitter.com/docs/auth/obtaining-access-tokens
既然听起来像是您要自己进行授权,那么应该使用更简单的 PIN-based 方法。
你正在使用 twython
,获取这些可以使用库来完成:https://twython.readthedocs.org/en/latest/usage/starting_out.html#authentication
get_authentication_tokens
和 get_authorized_tokens
是您正在寻找的方法。
from twython import Twython
import sys
APP_KEY = 'coN_kEY_123456789'
APP_SECRET = 'cOn_sEcr3t_123456789'
twitter = Twython( APP_KEY, APP_SECRET )
auth = twitter.get_authentication_tokens()
print( 'Visit %s and enter your PIN: ' % auth.get( 'auth_url' ) ),
pin = sys.stdin.readline().strip()
twitter = Twython( APP_KEY, APP_SECRET, auth.get( 'oauth_token' ), auth.get( 'oauth_token_secret' ) )
tokens = twitter.get_authorized_tokens( pin )
print( 'OAUTH_TOKEN: %s' % tokens.get( 'oauth_token' ) )
print( 'OAUTH_TOKEN_SECRET: %s' % tokens.get( 'oauth_token_secret' ) )
将 OAUTH_TOKEN
和 OAUTH_TOKEN_SECRET
存储在安全的地方并随意重复使用。此外,请确保您在访问 URL 和获取 PIN 时授权了正确的帐户。
您的所有 API 调用都将在通过 token 授权访问的帐户的一半上进行,您的 via
行将是您的原始应用程序。为您要从中发推文的每个帐户使用适当的 token ,这是不可能混合和匹配的。
关于twitter - 可以通过 twython 使用来自不同帐户的 appkey/secret key 发推文吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450452/
我想开发一个 Skype 机器人,它将用户名作为输入,并根据用户输入以相反的字符大小写表示hello username。简而言之,如果用户输入他的名字 james,我的机器人会回复他为 Hello J
我是一名优秀的程序员,十分优秀!