2011-07-13 18 views
8

Merhaba, belirli bir albümdeki tüm resimleri (her zaman aynı sabit kodlanmış kimlik) yakalamaya çalışıyorum. Facebook’tan Graph API PHP SDK kullanıyorum.Belirli bir Facebook albümünün tüm görsellerini Graph API PHP SDK ile alın

<?php 
require 'phpfiles/facebook.php'; 

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

$user_profile = $facebook->api('/1881235503185/photos?access_token=cccc'); 
var_dump($user_profile); 

var_dump çıkışı: Bu benim kodudur ACCESS_TOKEN belirteci

array(1) { ["data"]=> array(0) { } } 
  • 1881235503185 sınırlı değildir MY albümünün id, bu herkes
  • açık olmasıdır Ben fb kimliğim için uygulama sayfamdan alın. Ben och hatası almıyorum.
  • İzinlerim (user_photos) var ve bir düzine başka izin eklemeyi denedim.
  • Grafik API Gezgini ile çalıştığımda çalışır.

Ben JavaScript SDK sorunsuz çalışıyor kullanmak ...

FB.api('/1881235503185/photos?access_token=cccc', function(response) { 
    alert(response.data[0].name); 
}); 

Çıktı: de içinde Diep

koymak şey mi unuttum?

+0

o sürümü gerçekten çalışması js mu? Tam olarak aynı şeyi yapmalı ve JS çözümüyle ilgili bir problemle karşı karşıyayım. Albümün sahibi olarak oturum açarken bunu denediğimde - işe yarıyor. Ancak, başka bir kullanıcı olarak giriş yaptığımda, albümün herkese açık olması ve içeride herkese açık fotoğraflar olmasına rağmen yanıt boştur ... –

cevap

7

Aldım! Olmalıdır: Yeni Facebook PHP SDK ile

$user_profile = $facebook->api('/1881235503185/photos', array('access_token' => 'cccc')); 

olması gerektiği:

$albumjson = $facebook->api('/1881235503185?fields=photos'); 
2

PHP ile değil PHP ile çalıştığını garip buluyorum ... PHP FB kurulumunuzla ilgili bir şey olduğunu düşünmeme izin veriyor. Bunu kontrol etmek için başka bir çağrı denediniz mi? Eğer kontrol ettikten Böyle Ayrıca

$facebook->api('/me'); 

emin olun

olarak bu: kamu user_photos izni erişim fotoğraf ve istiyorsa

Eğer

herhangi bir geçerli ACCESS_TOKEN ihtiyaç 'fotoğraf' nesne okumak için kullanıcı tarafından yüklenen albümler user_photo_video_tags kullanıcının arkadaşlarına gönderdiği friends_photos izninin fotoğraflarına erişmek için izin istiyorum friends_photo_video_tags erişim fotoğraflara izin ettiği kullanıcının arkadaşları

Src

etiketlendiği:

http://developers.facebook.com/docs/reference/api/photo/

+0

Tüm bu izinleri denedim, başarı yok. api ('/ me') bir oauth hatası veriyor (!?) ama api ('/ [my_uid]') kullandığımda tüm bilgilerimi aldım ... Ayrıca 3.0.1'den 3.0.0'a kadar düşürmeye çalıştı Ayrıca ni başarı ... – JeroenVdb

+0

Anladım! Olması gereken: $ user_profile = $ facebook-> api ('/ 1881235503185/fotoğraf', dizi ('access_token' => 'cccc')); – JeroenVdb

3
<?php 
    require_once 'library/facebook.php'; 
    try{ 
     $facebook = new Facebook(array(
       'appId' => $app_id, 
       'secret' => $app_secret, 
       'cookie' => true 
     )); 
     if(is_null($facebook->getUser())) 
     { 
       header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos'))}"); 
       exit; 
     } 
     $me = $facebook->api('/me'); 
    }catch(Exception $e){ 
     echo $e->getMessage(); 
     echo '<p>Please try clearing your browser cookies or <a href="http://demos.frnzzz.com/fbAlbum/photos.php">click here</a>.</p>'; 
     die; 
    } 
?> 
<html> 
    <head> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
     <script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> 
     <script type="text/javascript"> 
     $(document).ready(function() { 
      $('.slideshow').cycle({ 
       fx: 'fade' 
      }); 
     }); 
     </script> 
     <title>WebSPeaks.in | Access facebook Albums on your site using PHP</title> 
    </head> 
    <body> 
<?php 
    $albums = $facebook->api('/me/albums'); 

    $action = $_REQUEST['action']; 

    $album_id = ''; 
    if(isset($action) && $action=='viewalbum'){ 
     $album_id = $_REQUEST['album_id']; 
     $photos = $facebook->api("/{$album_id}/photos"); 
     ?> 
     <div class="slideshow"> 
     <?php 
     foreach($photos['data'] as $photo) 
     { 
      echo "<img src='{$photo['source']}' />"; 
     } 
     ?> 
     </div> 
     <?php 
    } 

    $pageURL .= 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
    echo '<div class="alb">'; 
    if(strstr($pageURL,'.php?')){ 
     $and = '&'; 
    }else{ 
     $and = '?'; 
    } 

    echo '<p class="hd">My Albums</p>'; 
    foreach($albums['data'] as $album) 
    { 
     if($album_id == $album['id']){ 
      $name = '<b><u>'.$album['name'].'</u></b>'; 
     }else{ 
      $name = $album['name']; 
     } 
     echo '<p>'."<a href=".$pageURL.$and."action=viewalbum&album_id=".$album['id'].">".$name.'</a></p>'; 
    } 
    echo '</div>'; 
    ?> 
    </body> 
</html> 
+0

Tam örnek için teşekkürler! – JeroenVdb

+0

Size örnek kullandım ve facebook.com'a otomatik olarak yönlendiriyor, herhangi bir çözüm var mı? – Parixit

+0

Bu hattın çalıştığından emin misin? $ photos = $ facebook-> api ("/ {$ album_id}/photos"); – RicardoGonzales

İlgili konular