【问题标题】:How should we be obtaining user permission for our server to post tweets to Twitter, using OAuth, from the iPhone?我们应该如何获得用户许可,让我们的服务器使用 OAuth 从 iPhone 向 Twitter 发布推​​文?
【发布时间】:2010-12-24 02:06:20
【问题描述】:

对于 iPhone 应用程序,我正在开发一项功能,该功能允许用户制作由服务器发布的自动推文(如果他们愿意的话)。我选择使用 OAuth 进行 Twitter 身份验证。

我已经使用 OAuth 成功获得了应用程序本身直接发布的权限,并且我可以轻松地了解如何让用户进行身份验证并直接使用 Web 浏览器(或 UIWebView)授予服务器权限,由服务器负责用于 OAuth 功能。

但是,我研究了客户端是否有可能获得 OAuth 权限,然后将它们传递给服务器,然后允许服务器使用它们来编写推文(以您可以获得会话代理权限的方式Facebook) 空了。这实际上可能与 OAuth/Twitter 相关,还是违背了 OAuth 的目的(或者 Twitter 不支持)?还是就像向服务器发送客户端获得的 OAuth 令牌信息一样简单?在继续处理客户端代码之前,我试图确定服务器端需要哪些支持,但不知何故我没有找到类似代理推文的示例。

感谢您的帮助!

【问题讨论】:

  • 澄清一下,我们确实需要让服务器发出推文,尽管这样做会增加复杂性。

标签: iphone cocoa-touch twitter oauth


【解决方案1】:

我正在使用同样使用 OAuth 的 Foursquare API 做同样的事情。我只是让用户在他们的 iPhone 上授权我的应用程序,然后将用户特定的 OAuth 令牌传递给我的服务器。在服务器上,我保留了与 iPhone 设备 ID 相关的令牌。稍后,服务器实际上是与 Foursquare 对话以进行更新。

我不明白为什么这不适用于 Twitter,但是除非您有充分的理由在服务器上执行此操作,否则您应该只在用户的 iPhone 上执行此操作。总是要避免添加另一个系统。

【讨论】:

    【解决方案2】:

    我刚刚在另一个帖子上发布了这个问题的解决方案:

    iphone MGTwitterEngine - post a tweet with my app signature

    【讨论】:

    • 嗨 Smendrick,Ben Gottlieb 的 Twitter Oauth 最终也是我的解决方案,感谢您在此处发帖并提醒我跟进。应用程序获取令牌并将它们传递给服务器。
    【解决方案3】:

    似乎您想要做的事情是可能的,但我不认为这是可取的。如果您在服务器端执行此操作,则必须代理所有内容并通过每部手机的唯一标识符管理对 twitter 的访问令牌。您可能最好在您的应用程序中构建一个 twitter 客户端,并让每个用户使用 twitter 进行身份验证以直接支持您的应用程序。然后,您可以将用户活动记录到您的服务器,但您不必关心身份验证过程。一旦用户授予您的应用访问权限,您就可以对他们的数据做任何您想做的事情。

    最好的问候,

    【讨论】:

      猜你喜欢
      • 2011-09-17
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多