这是完全可行的,只是它取决于您在实现 auth 结构的情况下,并理解为 facebook 上的应用程序授予权限的所有操作都需要执行重定向。这可能涉及在您的应用程序外部打开浏览器,或者您可以仅使用 iPhone SDK 进行身份验证,并在 OAuth 过程完成后让客户端设备将 access_token 发送到您的服务器。
对于想要与 Facebook/Twitter/Google + 其他 OAuth 提供程序一起设置自己的身份验证系统的应用程序,这是一种非常常见的方法。您维护与某些 Facebook 用户相关联的本机用户 ID,并在必要时获取访问令牌。获得永久、离线访问的过程已从持久令牌变为您刷新的令牌。我将向您推荐另一个包含所有相关细节的讨论:
存储 facebook 令牌的字段类型是什么?
一旦获得并保存了有效的 access_token,无论是在持久存储中还是在会话中,您都可以使用它来访问客户端 SDK 用来获取和交换数据的相同端点。这通常通过一些 HTTP 库来完成。例如,用于 PHP 的 SDK 仅通过自动执行身份验证过程,然后将访问凭据嵌入到您的请求数据中,从浏览器窗口中加速此过程。这完全可以在服务器端通过使用带有标准 HTTP 库(python 中的 urllib 或 HTTPlib)的 endpts 并手动将新获得的 access_token 设置为要发送到图形 API 的请求变量来模拟。
如果您要走 python 路线,并且您在客户端的需求将完全通过电话处理,我强烈建议您查看Flask,它是Werkzeug WSGI 库的变体。这个工具真的不能被打败,因为它可以快速旋转输出一些序列化数据(在你的情况下,很可能是直接来自 FB 的 JSON)。我一直喜欢将它用于 Web 服务类型的工作,因为它让您可以决定使用哪些库来满足您的其他需求,从而使部署的代码库尽可能小。