0

我编写了一个应用程序,它能够从命令行向特定用户帐户写入帖子。这具有所需的权限,正在成功发布带有位置和地点信息的消息。

我的下一步是将图像上传到用户帐户,但问题是,我收到以下错误:

请求此资源需要用户访问令牌。

现在,执行 API 发布的脚本不再从浏览器运行,而是作为使用 PHP 实现的 Linux 服务守护程序运行。该脚本包含一个游戏循环,在一天中的特定时间发布消息并将照片上传到参与者帐户,模拟他们的个人资料正在参加的假期。

因此,当从我的应用程序脚本调用BaseFacebook::getUser时,我得到的结果为 0,这意味着BaseFacebook::getAccessToken将返回应用程序访问令牌,而不是用户访问令牌。

我也检查了,注意到受保护的方法BaseFacebook::getUserAccessToken没有返回有效的令牌,因为命令行应用程序没有会话,并且它必须在游戏循环期间连续发布到不同的用户帐户。

正如我所提到的,我可以发布帖子,甚至可以将地点附加到我的帖子中,但是有没有一种方法可以在不需要用户访问令牌的情况下将照片上传到不同的用户帐户?

我知道我可以使用offline_access,但这在 2012 年 10 月 3 日被弃用,那时我们的客户应用程序已经开始运行。

然而,我们应用程序的玩家/用户确实会不时访问应用程序,那么是否可以使用浏览器中的令牌,将其存储在我们的数据库中,然后从命令行应用程序中使用它?

4

1 回答 1

1

但是,我们应用程序的玩家/用户确实会不时访问应用程序,那么是否可以使用浏览器中的令牌,将其存储在我们的数据库中,然后从命令行应用程序中使用它?

这正是要走的路。

并且本文档描述了如何处理这些令牌,如何获得长期存在的令牌等 – https://developers.facebook.com/roadmap/offline-access-removal/

而且https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/也是值得一读的。

于 2012-08-14T14:20:42.367 回答