2010-11-08 30 views
30

Tôi đang sử dụng sdk php để truy cập album của người dùng và hình ảnh trong một trang web. Tôi có thể đăng nhập và cũng có thể truy xuất tất cả thông tin về album và ảnh."Một thẻ truy cập là cần thiết để yêu cầu cập khu vực này", trong khi truy cập vào một album/ảnh với Facebook php sdk

Tuy nhiên, tôi không thể hiển thị những ảnh này trên trang web.

Khi tôi cố gắng API đồ thị, để có được những bức ảnh/album như dưới đây:

https://graph.facebook.com/131833353530147/picture 

tôi nhận được thông báo lỗi sau:

{ 
    "error": { 
     "type": "OAuthException", 
     "message": "An access token is required to request this resource." 
    } 
} 

Nhưng cùng đang làm việc trong khi tôi cố gắng để hiển thị ảnh hồ sơ của tôi và tôi có một mã thông báo truy cập hợp lệ.

Trợ giúp về điều này sẽ được đánh giá cao.

Trả lời

0

Vâng, bạn đang gặp một thẻ truy cập hợp lệ để truy cập thông tin của bạn và không phải người khác (điều này là bởi vì bạn đã đăng nhập và bạn đã cho phép truy cập thông tin của bạn). Nhưng chủ sở hữu hình ảnh đã không thực hiện tương tự (quyền đăng nhập +) và do đó bạn đang nhận được một lỗi vi phạm.

Để có được sự cho phép nhìn thấy link này và quyết định những loại thông tin mà bạn muốn từ bất kỳ người sử dụng và quyết định cho phép. Sau đó, nhúng mã này vào mã của bạn. (Trong cuộc gọi chức năng đăng nhập)

Cảm ơn

22

Có 3 điều bạn cần.

  1. Bạn cần phải oAuth với chủ sở hữu của những ảnh đó. (Với sự cho phép mở rộng 'user_photos')

  2. Bạn cần thẻ truy cập (mà bạn có được trả lại trong hộp URL sau OAuth được thực hiện.)

  3. Khi những được hoàn thành sau đó bạn có thể truy cập các bức ảnh như vậy https://graph.facebook.com/me?access_token=ACCESS_TOKEN

Bạn có thể tìm thấy tất cả các thông tin chi tiết hơn ở đây: http://developers.facebook.com/docs/authentication

+4

Đây là câu trả lời đối với tôi, nó chỉ ra rằng access token hộp ở phía trên cùng của Graph API Explorer là hoàn toàn cho trang trí và không liên quan đến truy vấn bạn viết bên dưới. 1/10 sẽ không sử dụng giao diện người dùng như thế này nữa –

2
  1. Đăng nhập vào Facebook của bạn.

  2. Đến http://graph.facebook.com

  3. Bạn sẽ tìm thấy tất cả thức ăn của bạn với mã truy cập tương ứng của họ. ví dụ: https://graph.facebook.com/me/home?access_token=2227470867|2.AQAQ6FqN8IW-PUrR.3600.1309471200.0-137977022924629|0sbmdhJN6o9y9J4GDWs8xEygyX8

Tận hưởng!

+4

Mã thông báo truy cập không phải là vĩnh viễn. Nó cần phải được khởi tạo đúng cách. Mẹo này rất hữu ích để thử nghiệm, nhưng không nên được thực hiện trong một ứng dụng. – rds

1

Để có được thực tế access_token, bạn cũng có thể làm chuyên nghiệp về mặt ngữ pháp thông qua mã PHP sau:

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    $access_token = $facebook->getAccessToken(); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 
+1

Điều tôi không hiểu là tôi đang gọi từ một trang web. Tức là, tôi không phải là ứng dụng đang tìm kiếm quyền xem ảnh, tôi là trang web không có YOUR_APP_ID. –

1

Để có được một thẻ truy cập: facebook Graph API Explorer

Bạn có thể tùy chỉnh quyền truy cập cụ thể, quyền cơ bản là được bao gồm theo mặc định.

Các vấn đề liên quan