没有访问令牌,您可以从图表api中获得很少的内容。 只需将您的浏览器指向:http://graph.facebook.com/YOU_USER_ID
。
您还可以检查User object documentation,它说,在权限柱(3)“不需要的access_token”你可以取出一块令牌获得域/连接表。
如果你想要让自己的其他数据,并公开服务在你的网站,你有两种选择:
使用server-side authentication flow,获得长寿命的访问令牌(60天),保存和在接下来的60天内使用它来从Facebook获取您的数据。 然后,当它过期时再次通过验证过程。 只有你需要经历它而不是你的用户,并且每60天只有一次。
自己登录,根据您的应用程序进行身份验证,获取所有数据并将其保存在数据库中,然后将其呈现给用户。 您需要每隔一段时间更新一次。
编辑
服务器侧认证流动引导件具有写入在PHP的例子。 这是一个简单的例子,并没有涵盖所有的场景,但这是一个很好的开始。
我在Python和Java实现这一点,但因为它涵盖了多个请求,并指出这不是一件很容易被共享的,所以我只是描述我认为你应该使用流程:
- 里面Facebook你去你的画布应用
- Facebook将进行POST到iframe与你的画布网址
- 在后的数据,你会得到一个signed request,对其进行解码,并检查它是否有一个访问令牌,如果所以检查它何时到期。如果一切顺利,保存该令牌并且验证过程结束,否则:
- 将用户重定向到oAuth dialog以及您需要的重定向url和权限。
- 当你允许你自己的应用程序后,你将被重定向到代码参数(在查询字符串中)的“recirect_uri”。
- 将访问令牌的代码与Facebook服务器交换并保存令牌。
- 然后,您可以将自己重定向到画布应用程序或停在那里。
这应该做一个长寿命的访问令牌,然后您可以使用60天。
至于把你的fb数据保存在你自己的数据库中,把数据保存在数据库中是一个非常简单的操作,这一切都取决于你想要保存的数据,你需要如何编码/使用它(json, XML,纯文本)。
例如,假设您想要显示自己的照片,那么在获取令牌后(如上所述),只需通过向您的服务器查询您的照片,即可发出http请求至:https://graph.facebook.com/me/photos?access_token=XXXXXX
。 你应该得到一个json编码的结果,遍历它并将每张图片保存为你的db上的一条记录。
你有一个例子如何在asp.net中做到这一点? – Alexandre
我根本不使用.net,但你指的是哪一部分?服务器端认证还是数据的持久性? –
两者。所以你可以用你使用的语言举个例子。没关系。 – Alexandre