Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api 从API(如Hootsuite等)访问数据(无需用户登录)_Facebook Graph Api - Fatal编程技术网

Facebook graph api 从API(如Hootsuite等)访问数据(无需用户登录)

Facebook graph api 从API(如Hootsuite等)访问数据(无需用户登录),facebook-graph-api,Facebook Graph Api,我最近一直在使用一些API,主要是Facebook API,现在是Instagram和Twitter API。但它们的一个共同点是它们的工作方式,从这个意义上说,用户必须同时在计算机/网络浏览器上登录到它们的服务 例如,如果我要创建一个页面,您可以在其中阅读您的Facebook提要,那么用户必须在我的页面上创建一个帐户,同时登录Facebook并授权该应用程序。下一次,如果他使用的是同一台电脑/网络浏览器,并且没有注销Facebook,那就没问题了。但如果他正在使用另一台电脑,或者确实注销了,他

我最近一直在使用一些API,主要是Facebook API,现在是Instagram和Twitter API。但它们的一个共同点是它们的工作方式,从这个意义上说,用户必须同时在计算机/网络浏览器上登录到它们的服务

例如,如果我要创建一个页面,您可以在其中阅读您的Facebook提要,那么用户必须在我的页面上创建一个帐户,同时登录Facebook并授权该应用程序。下一次,如果他使用的是同一台电脑/网络浏览器,并且没有注销Facebook,那就没问题了。但如果他正在使用另一台电脑,或者确实注销了,他将获得Facebook登录

我没有在我的数据库中存储任何数据,所有数据都是直接从Facebook访问的

但是像这样的服务不是这样工作的。我可以在HootSuite注册一次,选择Facebook,登录并授权该应用程序,然后从世界上任何一台计算机上访问我的订阅源,只需在HootSuite登录一次。他们是怎么做到的?他们是否与Facebook签订了特别协议,或者这是我可以自己学习和使用的东西(一种服务/一种每个Facebook应用程序开发人员都可以访问的东西)

它们在数据库中究竟存储了什么?他们是否存储了我的Facebook用户名/密码,或者在我看不到的情况下发送给Facebook进行确认(我没有撤销任何权限)的一串数据


希望你们中的一些人知道这一点,这很有趣。

嗨,我目前正在为hootsuite开发,鉴于还没有人回答您的问题,我将尝试为您提供一些见解

Hootsuite在内部使用了LinkedIn、facebook、Twitter和其他社交网络提供的开发者API。有一个文档化的方法来使用这些API。通常,它涉及在这些社交网络上创建一个应用程序(这里是hootsuite应用程序)。此应用在这些网络上有自己的id。在hootsuite上创建帐户时,它会要求您添加社交网络帐户

当您单击社交网络名称时,hootsuite应用程序将向所选社交网络发送访问请求。目标社交网络首先验证您的应用程序id(在本例中为hootsuite),然后验证用户凭据(用户名和密码),然后向您显示授权屏幕,您希望hootsuite应用程序访问您个人资料中的哪些数据

该信息现在被压缩,一个包含这些授权参数和oauthaccess令牌的对象被发送回hootsuite网站。这些oauth令牌具有生存期(例如linkedin访问令牌生命周期为60天),这意味着其有效期为60天

hootsuite从不存储您的(twitter、facebook等网络)用户名或密码,它存储oauth令牌值,并在您使用hootsuite时重复使用。 因此,oauth令牌对于您的社交网络帐户和hootsuite帐户是唯一的,它就像一个超级通道一样读取您的数据


这是我的类比。希望有帮助。

您好,谢谢您的反馈!我还有几个问题要问你:我自己正在开发一个应用程序,它与Facebook进行了一些整合。它与HootSuite(发送请求、接收OAuth令牌等)的功能相同,但问题是我必须在同一台计算机上同时登录到Facebook。比如说,我注销Facebook,然后进入我的应用程序。我将看到Facebook登录屏幕,登录FB。当我使用HootSuite时,我可以在Facebook上注销,但仍然可以在HootSuite上看到我的订阅源。Hootsuite保存facebook发送的oauth令牌密钥和oauth令牌密钥,并在后续请求中使用。他们就是这样做的。亚历克斯,如果我的回答有帮助,请把它标记为已回答。:)@Kiquenet我无法复制HootSuite带来的效果。我不久前就停止了这方面的工作,但这是一个非常有趣的话题,我可能会在稍后的某个时候回来做更多的“研究”。在此之前,请参考苏珊特·古普塔的答案