簡體   English   中英

從facebook相冊中獲取所有照片錯誤

[英]Get all Photos from facebook album Error

嗨,大家好,我想從用戶Facebook相冊中獲取所有數據。 我運行查詢:-

SELECT src_big, caption, src_small, src FROM photo WHERE owner = OWNER_ID AND aid = 'ALBUM_ID'

我收到以下錯誤:-

{
  "error": {
    "message": "Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql ", 
    "type": "NoIndexFunctionException", 
    "code": 604
  }
}

請參閱sceenshot:-

在此處輸入圖片說明

當我搜索時,得到了此解決方案FQL您的語句不可索引,但可以在控制台中使用,但無法正常工作

編輯:-我嘗試了以下代碼

<?php
require 'facebook.php';
$facebook = new Facebook(array(
     'appId' => 'APP_ID',
     'secret' => 'SECRET_KEY',
     'cookie' => true,
));

$fql = "SELECT aid FROM album WHERE aid = 'ALBUM_ID' ";

$response = $facebook->api(array(
     'method' => 'fql.query',
     'query' =>$fql,
));

print_r($response);

?>

但它返回空數組Array()

編輯1:-

我也在下面嘗試了

查詢:- SELECT pid,src_big,owner,link,position,created,caption,src FROM photo WHERE aid="ALBUM_ID"

在此處輸入圖片說明

編輯2:-

我嘗試了以下代碼,但我得到了所有圖像,但問題是當我使用朋友的ownerid時,它返回結果,但是當我使用我的id時,它返回空,為什么?

<?php
ob_start();
require 'facebook.php';
$facebook = new Facebook(array(
     'appId' => 'APP_ID',
     'secret' => 'SECRET_KEY',
     'cookie' => true,
));

$fql = "select aid,cover_pid,description,created,name,photo_count from album where owner=OWNER_IDorder by created desc limit 10";

$result = $facebook->api(array(
'method'=>'fql.query',
'query'=>$fql
));

for($i=0;$i<sizeof($result);$i++){
$fql = "select images,created,link,pid,src_big,src_big_width,src_big_height from photo where aid='".$result[$i]['aid']."'";

$ret = $facebook->api(array(
'method'=>'fql.query',
'query'=>$fql
));

for($j=0;$j<sizeof($ret);$j++){
echo '<img src="'.$ret[$j]['src_big'].'"></img> ('.$ret[$j]['created'].')';
echo '<br>';
}

echo '-----------------------------------------------------------------------------<br><br>';
}
?>

如果我做錯了,請對此提供幫助。 提前致謝。

首先,您使用Graph API在Graph API資源管理器中嘗試了查詢; 您應該在FQL查詢控制台中對其進行測試。

在此處輸入圖片說明

第二件事,我並沒有真正展示如何獲得aid ,但這並不是您從facebook api獲得的專輯ID。 它是您應該在查詢中使用以獲取照片的album_object_id

您的查詢將是:

SELECT src_big, caption, src_small, src FROM photo WHERE owner = OWNER_ID AND album_object_id = 'ALBUM_ID'

PS我在FQL資源管理器中嘗試過,並且效果很好!

由於這是Facebook的許可問題,因此我通過要求用戶允許訪問其個人資料,照片等來解決此問題,如果用戶接受,則使用以下代碼可以獲取他的Facebook照片。

<?php
    ob_start();
    require 'facebook.php';
    @session_start();
    include_once('config.php');

    $facebook = new Facebook(array(
     'appId' => APP_ID,
     'secret' => SECRET_KEY,
     'cookie' => true,
    ));

$fql = "select aid,cover_pid,description,created,name,photo_count from album where owner=me() order by created desc limit 10";

$result = $facebook->api(array(
'method'=>'fql.query',
'query'=>$fql
));

for($i=0;$i<sizeof($result);$i++){
$fql = "select images,created,link,pid,src_big,src_big_width,src_big_height from photo where aid='".$result[$i]['aid']."'";

$ret = $facebook->api(array(
'method'=>'fql.query',
'query'=>$fql,
'scope'=>'user_photos'
));

$k = 1;
for($j=0;$j<sizeof($ret);$j++){


echo '<div>';
echo '<img src="'.$ret[$j]['src_big'].'" id="img'.$k.'"></img>';
echo '<input type="checkbox" class="select_img" current_check = "'.$k.'" name="image_checkbox">';
echo '</div>';

$k++;

}

}


?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM