桌面(控制台)应用的Facebook身份验证

5 投票
2 回答
1369 浏览
提问于 2025-04-16 18:31

我正在开发一个Python应用程序,目的是让我可以在Facebook上发布更新或状态。

我遇到了一个基本的问题,就是获取访问令牌。

因为这个应用程序是在桌面上运行的,所以不涉及使用什么网络服务器。

我知道我需要打开一个网址:

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html

...然后从重定向的URL中获取令牌。

但是这也行不通,因为我的应用程序是基于控制台的。离我最近的使用嵌入式浏览器的方法是用Python的mechanize模块。

还有其他的选择吗?

2 个回答

1

你可以试试使用PhantomJS吗?

PhantomJS是一个命令行工具,它包含并使用了WebKit。简单来说,它就像其他基于WebKit的网页浏览器,只不过它不会在屏幕上显示任何内容(所以叫做无头浏览器)。除此之外,PhantomJS还可以通过它的JavaScript接口进行控制或编写脚本。

2

也许你可以设置一个流程,通过离线访问来获取令牌,这样用户只需要在第一次使用时看到 Facebook 登录页面一次。之后你就可以在控制台应用程序中使用这个令牌了。

关于离线访问的更多信息,可以查看 这个链接

撰写回答