嗯,这可能听起来很奇怪。当facebook应用程序配置为Native / Desktop应用程序(Apps->您的APP-> Advanced->应用程序类型)时,'app access token'将从此过程中获取
https://graph.facebook.com/oauth/access_token?“+”client_id =“+ APP_ID +“& client_secret =”+ APP_SEC + “&安培; grant_type = client_credentials”
无法使用,从Facebook页面获取Feed或发布。根据facebook文档 提取订阅源只需要任何有效的access_token或用户access_token ,如果应用程序配置为Native / Desktop,则奇怪的是它不会以这种方式工作。
1解决方案经过一天的研究后得出令人沮丧的结论,它必须配置为“基于网络”的应用程序(应用程序 - >您的APP->高级 - >应用程序类型)
设置完成后,上面提取Feed的过程就会起作用。这会引发一个问题,这是一个错误吗?或者我误解了文档。
我希望我为你节省了一天,如果你这几天一直在处理facebook页面提要并且因为明显的原因而沮丧地脱掉你的头发。
答案 0 :(得分:1)
以下是有关使用应用访问令牌
的相关文档只有在发布功能直接来自您的服务器时才能使用应用访问令牌,以使其对应用程序保密。例如,您不应在客户端(如本机移动应用程序)中使用App Access Token进行发布。这样做可以让个人获得App Access Token,然后允许他们代表您的应用采取行动。相反,您应该让您的本机移动应用程序队列与您的服务器一起操作,然后让您的服务器使用App Access令牌将故事发布到Facebook。因此,如果您在设置中的“应用类型”>高级设置为“本机/桌面”,我们假设您的客户端应用程序在其二进制文件中包含App Secret或App Access Token,并且不允许使用App Access Token签名的呼叫继续。 API的行为就像没有提供访问令牌一样。
同样关于获取应用访问令牌:
因为它要求您包含App Secret,所以不应尝试在客户端进行此调用,因为这会向所有应用用户公开此秘密。重要的是,您的App Secret永远不会与任何人共享。出于这个原因,这个调用应该在服务器端执行[...]