我正在开发一个将facebook页面作为其数据源之一的项目.它定期从中导入一些数据,不涉及GUI.然后我们使用Web应用程序显示我们已有的数据.
并非所有信息都是公开的.这意味着我必须访问一次数据然后保留它.但是,我不知道这个过程,我还没有找到一个很好的教程.我想我需要一个access_token,如何从用户那里逐步获得它?用户是Facebook页面的管理员,他是否必须在页面中添加一些我们的FB应用程序?
编辑:谢谢@phwd的提示.我做了一个教程,如何获得永久页面访问令牌,即使offline_access不再存在.
编辑:我刚刚发现它的回答:持久的FB访问令牌服务器拉FB页面信息
这应该是相当普遍的,但不知怎的,我不能让它工作.我想做的是从Facebook获取专辑图片.我正在网站上实现这一点.
我可以使用以下代码获取相册:
function getAlbumPhotos(){
FB.api('/me/albums', function(resp) {
//Log.info('Albums', resp);
var ul = document.getElementById('albums');
for (var i=0, l=resp.data.length; i<l; i++){
var
album = resp.data[i],
li = document.createElement('li'),
a = document.createElement('a');
a.innerHTML = album.name;
a.href = album.link;
li.appendChild(a);
ul.appendChild(li);
}
});
};
Run Code Online (Sandbox Code Playgroud)
resp返回一个数据数组,其中包含相册的链接但是我想要每张专辑的图像源,我看不到任何我可以在resp数据中使用的内容.数据对象包含指向相册的链接,但不包含单个图像.
根据facebook文档,照片是与相册的"连接".我不确定是什么意思,但他们的文档显示你可以获得个人照片.
从这个链接:
[http://developers.facebook.com/docs/reference/api/album/][1]
Run Code Online (Sandbox Code Playgroud)
它显示了json(?)返回链接,id,名称等...我能够得到它.但是,该页面的底部是与相册的"连接",其中包括照片,评论,图片.当我点击照片时,它会显示包含img src的JSON数据结构.问题是,我该怎么做?看起来很简单,但我无法让它发挥作用.
我试过了
FB.api('/me/photos',function(resp) ...
Run Code Online (Sandbox Code Playgroud)
和
FB.api('/me/photo',function(resp) ...
Run Code Online (Sandbox Code Playgroud)
照片返回undefine时,照片不返回任何内容.
代码示例将不胜感激.
我正在使用 Facebook Graph API v2.8 来获取如下页面提要:
/page-id/posts?fields=attachments{media,title},id,message...
Run Code Online (Sandbox Code Playgroud)
如果帖子有附件,我希望我的请求返回attachments.media.image 路径中每个附件的完整尺寸图像。目前,它仅返回标准尺寸(380x380px 至最大 720x720px)的方形图像。
有没有办法进一步指定查询来实现这一点?就像是:
fields=attachments{media{image.type(full)},title]},id....
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我不想向媒体/对象端点发出另一个请求。
PS:当前响应中的 url 指向 php 服务,其中包含宽度和高度参数,可以省略该参数以获得完整尺寸的图像。
https://external.xx.fbcdn.net/safe_image.php?d=AQAkZcYtE-TiVzTj&w=542&h=542&url=fbstaging%3A%2F%2Fgraph.facebook.com%2Fstaging_resources%2FMDExMDE1NDcxNzI3Njg3Mjc2MDoxMjE3ODEyMjE%3D&cfs=1&sx=104&sy=0&sw=542&sh=542&l
Run Code Online (Sandbox Code Playgroud)
然而,由于该 URL 中也有一个哈希值,我真的不想做正则表达式来删除响应图像 URL 的宽度和高度参数来获取全尺寸图像。
编辑:我也不能真正使用 full_picture 字段,因为它只会给我第一个(主)附件的 URL。我正在查找所有附件的媒体 URL。