我有一个应用程序通过存储一组用户名和密码发布到多个Twitter帐户。最近,Twitter更新了他们的API,因此我必须使用OAuth进行身份验证,而不是存储凭据。如何在单个进程中让用户对多个Twitter帐户进行身份验证?
例如,我有一个带有提交按钮的文本框。当用户点击提交按钮时,我希望文本框值发布到user1,user2和user3的Twitter帐户。这意味着他们必须同时同时登录3个帐户才能使这一次点击工作正常吗?这怎么可能?
PS - 我也在为Facebook做这个,并且是相同的API / OAuth概念,这也是我用Facebook API标记它的原因。
答案 0 :(得分:3)
我遇到的问题是,我可以成功地访问我需要的3个社交网络(FB,Twitter和Dropbox),但是当我尝试允许我的用户为这些网络中的任何一个网络提供oAuth网络已经登录,并且没有提供另一个对话框供用户输入用户名/密码来授权该给定帐户。
Hootsuite允许您轻松地为给定的社交网络添加多个帐户,每次您尝试添加新帐户时,它似乎已成功“忘记”您之前授予该访问权限的登录信息。例如。我可以在Hootsuite中连续输入三个Twitter连接,而不会遇到我上面的问题。
有什么建议吗?有没有办法让社交网络知道我只是想要授权但不一定要在oAuth过程中登录?
谢谢!
AG3
答案 1 :(得分:1)
用户无需同时登录3个帐户;但他必须使用不同的帐户三次授权你的应用程序。
请参阅Twitter's OAuth FAQ - 访问令牌不会过期。用户授权您的应用后,您将访问令牌存储在数据库中。然后,您只需重复该过程并存储下一个访问令牌。
使用Facebook,令牌是短暂的,但您可以请求extended permission "offline_access"。这将使你大致达到与推特相同的东西。