Facebook图形API - 使用'应用程序访问令牌'来获取Facebook页面订阅源(解决方案)

Facebook图形API - 使用'应用程序访问令牌'来获取Facebook页面订阅源(解决方案)

问题描述:

好吧,这可能听起来很奇怪。从这个过程Facebook图形API - 使用'应用程序访问令牌'来获取Facebook页面订阅源(解决方案)

https://graph.facebook.com/oauth/access_token?“+”的client_id当一个Facebook应用程序被配置为天然的/桌面应用(Apps->您的APP->高级>应用类型),则“应用程序访问令牌”获得=” + APP_ID + “& client_secret =” + APP_SEC + “& grant_type = client_credentials”

都不行,从Facebook页面获取饲料或交。按照Facebook的文档 取饲料只需要任何有效的access_token或用户access_token,如果应用程序配置为本机/桌面,它就不会以这种方式工作。

1解决方案经过长达数天的研究后发现令人沮丧的结论是,它必须在(应用程序 - >您的应用程序 - >高级 - >应用程序类型)中配置为基于“网络”的应用程序。

一旦建立,以上提取饲料的过程works.This提出一个问题,这是一个错误?或者我误解了文档。

我希望我已经为你节省了一天,如果你一直在Facebook页面Feed上工作,并且因为显而易见的原因而失去理智,脱发。

[1] Facebook forum post

+0

你需要的是为Facebook页面的access_token - 如何获取http://*.com/questions/9395356/facebook-post-image-and-description阅读本9395916#9395916 - 然后只是使用图API,如果你正在得到一个普通用户的饲料(使用Facebook页面ID和给定的访问令牌) – scibuff 2012-02-26 01:22:23

+0

赞美你,appType确实很重要。我试图获取各种公共Feed的原始JSON数据,但自2012年以来,它需要60天后过期的用户令牌,这种方式只是使用appID + appSecret-> appToken我可以再次轻松访问公共Facebook数据:-) – PetrV 2012-07-18 11:41:33

下面是相关文档有关使用应用的访问令牌

时,为了保持他们的投稿功能,直接从您的服务器发起的应用程序的访问令牌,才应使用私密的应用程序。例如,您不应该在客户端(如本机移动应用程序)内使用App Access令牌进行发布。这样做可以让个人获得App Access Token,然后这些令牌可以让他们代表您的应用采取行动。相反,您应该将自己的本机移动应用程序队列操作与您的服务器配合,然后让您的服务器使用应用程序访问令牌将故事发布到Facebook。因此,如果您在“设置”>“高级”中的“应用类型”设置为“本机/桌面”,则我们假定您的客户端应用程序在其二进制文件中包含应用程序密钥或应用程序访问令牌,并且不允许使用应用程序访问令牌继续。该API的行为就像没有提供访问令牌一样。

Source

兼谈获得应用程序访问令牌

因为它需要你,包括你的应用程序的秘密,你不应该试图进行此调用客户端的这会将这个秘密暴露给所有的应用用户。您的应用秘密永远不会与任何人分享,这一点很重要。出于这个原因,这个调用应该在服务器端执行[...]

Source