现在已经弃用了FQL,是否有一种有效的方法可以验证相册是否已经存在(因为我没有可用的相册ID)我看过this帖子,但评价最高的答案依赖于FQL。我希望我不必检索所有专辑,并将每个结果专辑名称与相关名称进行比较。
如果我必须检索所有相册并比较结果,是否有人可以分享一个方便的Javascript片段?
答案 0 :(得分:1)
您无法按名称查询相册,您只需要请求整个列表,并且手动"在搜索结果中搜索所需的专辑。
您可以使用此端点获取当前用户的所有相册:
me/albums?fields=name
这将以以下格式返回结果:
{
"data": [
{
"name": "Profile Pictures",
"id": "XXXX",
"created_time": "2010-08-24T07:44:36+0000"
},
{
"name": "Cover Photos",
"id": "YYYY",
"created_time": "2011-09-22T22:58:07+0000"
},
...
]
}
然后要找到所需的相册(my_album
),您将使用与此类似的代码:
results = get_albums(); // making the actual API call
found_album = false;
for ( var i = 0; i < results.data.length; i++ ){
if ( results.data[ i ][ "name" ] == "my_album" ){
found_album = true;
break; // no need to continue searching
}
}
答案 1 :(得分:0)
呼!
这是我在使用Lix的片段后想出来的。我很想知道有没有比使用模型和局部变量来处理服务响应更有效的方法。
Appery.io模型:
fbAlbumList [Array]
fbAlbumList[i] [Object]
name [String]
id [String]
Appery.io Local Variable
fbAlbums - Local Storage - Type fbAlbumList
JS
var found_album = false;
var results = [];
results = JSON.parse(localStorage.getItem('fbAlbums')); // fbAlbums is a model/local variable
for (var i = 0; i < results.length-1; i++) {
if (results[i].name == <comparison name>) {
found_album = true;
break; // no need to continue searching
}
}