【问题标题】:Work flow for authentication and API use with Twitter on OAuth在 OAuth 上使用 Twitter 进行身份验证和 API 使用的工作流程
【发布时间】:2010-11-01 05:41:15
【问题描述】:

我对所有这些 OAuth bruhaha 有点困惑,因为我能找到的所有示例都是针对 Web 应用程序的,而没有一个是针对桌面应用程序的。

我了解 Web 应用程序的工作流程,但这包括 Web 应用程序和 twitter 之间的一些重定向。

  • 如何在桌面应用程序中做到这一点?
  • 重定向如何工作?
  • 是否必须包含 Web Browser 对象?
  • 有没有办法解决这个问题?
  • 谁能给我指点资源而不是完整的解决方案?

谢谢

【问题讨论】:

  • 您找到解决方案了吗?我也在做同样的事情——构建一个桌面推特应用程序并拥有一个噩梦!如果有,请发布您的解决方案或代码!
  • 不幸的是,我得到的问题多于答案。我有 3 到 4 种方法。但所有范围从用户烦恼到恶魔程序员黑客。这只是一些不被认为是的解决方法。啊!!!!
  • 你能帮我移动一下我的这个心理障碍吗...我不知道如何处理密码?!我正在将用户转移到 Web 浏览器控件进行登录,然后他们单击提交,然后它转到 pin 号...但我不知道如何处理 pin 号,而且我不知道如何让我的应用程序知道用户点击了提交,所以表单可以自行关闭!有什么想法吗?
  • 我只想要一个访问令牌=[
  • @xoxo:我自己还没试过。我会尝试一下 Delphi/FreePascal,然后我会回复一些答案。

标签: twitter oauth desktop-application


【解决方案1】:

不确定您使用的是哪种语言,但名为 Tweetsharp 的用于 Twitter 的 .NET 库有一篇关于从桌面应用程序使用 Tweetsharp 并通过 OAuth 进行身份验证的帖子。见http://tweetsharp.com/?p=68。如果您不使用 .NET,那么也许它会激发您可以做的事情?

基本上,tweetsharp 所做的是将浏览器启动到身份验证 URL,然后等待用户返回。除了类似的事情之外,我不知道有什么方法可以做到这一点(或者包括某种 WebBrowser 控件以在您自己的窗口中启动身份验证 URL)。

【讨论】:

  • 谢谢伙计,但这仍然涉及到我的方式并等待一些外部应用程序。我需要将它全部包含在我的应用程序中。在您的桌面应用程序中拥有登录名和密码是有意义的,见鬼,告诉我一个没有的......这确实不能解决我的问题,但无论如何谢谢。
  • 是的,我明白了。但是,对于桌面应用程序中的 OAuth,没有其他选择。 OAuth 的全部意义在于让您的应用要求提供凭据。
【解决方案2】:

这是一个简单的解决方案,实现为一组用于从命令行运行的 PHP 脚本。有据可查和解释,带有一个有用的“详细”调试选项。

http://nullinfo.wordpress.com/oauth-twitter/

【讨论】:

    【解决方案3】:

    在四处摸索并向其他程序员询问有关此主题的一些问题之后,看起来它仍在进行中的讨论,在隧道尽头没有可见光。

    但对于对正在进行的讨论感兴趣的人,这里是最好的链接:
    OAuth Desktop Discussion

    【讨论】:

    • 在我与 xoxo 的“对话”之后,看起来一个可能的答案可能比我的更好。将等待 xoxo 整理一些东西。
    【解决方案4】:

    我已经看到一些桌面应用通过有效地将浏览器嵌入到他们的程序中来解决这个问题,因此他们只需打开应用内浏览器窗口即可让您进行登录和授权。这让我觉得有点作弊或失败,因为无论如何你最终还是要在应用程序中输入你的 ID 和密码。

    我想到的一种可能性是,您的桌面应用程序可以在其中嵌入一个小型 HTTP 服务器。然后它会启动默认浏览器来执行授权,并带有一个类似http://127.0.0.1:8765/oauthorized 的回调 URL,然后只听它。

    这行得通吗?

    不确定您会为控制台应用程序做什么...生成lynx 的副本?

    【讨论】:

    • HTTP 服务器可以工作。我将不得不调查之前引起的 localhost 问题,以确认它仍然是可能的。谢谢你的建议,看起来很有趣。
    【解决方案5】:
    1. 在您的应用程序中包含一个 WebBrowser 控件。将它放在一个面板或一个单独的表单中,您将使用 Form.ShowDialog()。
    2. 为浏览器成功发布 OAuth 创建一个回调,并为拒绝创建一个回调。不要忘记检查 FailWhale。
    3. 在回调中,您关闭面板或表单并存储令牌。

    这里有一个很好的示例代码和所有内容的概述:http://tweetsharp.com/2009/04/how-to-authenticate-a-desktop-application-with-oauth/

    【讨论】:

    • 您提供的链接现在给了我一个 404。是不是 Twitter API 现在已关闭并且不再适用?
    猜你喜欢
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 2013-07-21
    相关资源
    最近更新 更多