2010-12-26 6 views
8

HI! Tôi có chút vấn đề với facebook PHP SDK .. Tôi muốn thích một bài đăng, hoặc cái gì khác thông qua facebook PHP SDK .. Tôi đang làm mã này, tôi nghĩ rằng nó phải là đúng, nhưng dường như nó không hoạt động .. Mã lỗi đã cho là, PHP SDK không biết loại yêu cầu POST (liên kết được tạo ra chắc chắn là không sao). Những gì tôi đã thấy trên trang Facebook Developers là về cùng .. Có một ví dụ về lệnh Curl, và tôi PHP SDK đang thực hiện các yêu cầu này trên Curl (propably).Giống như bài đăng trên biểu đồ Facebook api

$this->getFacebook()->api("/"+$id+"/likes", 'post'); Đây là những gì tôi đang sử dụng trong mã của mình và mã không hoạt động (yêu cầu bài đăng không được hỗ trợ ngoại lệ của API Facebook).

Có thể, tôi có cú pháp không đúng trong mã của mình, nhưng, ví dụ: khi tôi muốn đăng trạng thái lên Tiểu sử của mình, nó hoạt động .. Nguyên nhân khác khiến tôi bối rối, là khi tôi cố gắng tìm nạp những dữ liệu này trên Biểu đồ api (trên trang tài liệu được viết, tôi nên sử dụng địa chỉ như graph.facebook.com/POST_ID/likes) ...

Bạn có thể nhận xét về hoặc như một bài bằng cách đăng đểhttps://graph.facebook.com/POST_ID/commentshttps://graph.facebook.com/POST_ID/likes, tương ứng:

curl -F 'access_token=...' \ https://graph.facebook.com/313449204401/likes < = đây là từ tài liệu facebook

Và tất cả các yêu cầu hoặc lệnh này (thích những người, nhận xét mà tôi chưa thử) đang đưa tôi trở lại một mảng JSON có nội dung đã tồn tại, nhưng tôi không thích.

Có ai biết phải làm gì không? Làm thế nào để thích một bài đăng từ PHP .. Có các SKD khác như FQL, nhưng tôi không có bất kỳ kiến ​​thức nào về nó, vì vậy tôi thích sử dụng PHP SDK chuẩn (nhưng nếu là có một số khả năng làm thế nào để gọi ví dụ FQL từ PHP SDK, ở đây tôi :))

Xin giúp ..

Trả lời

5

được rồi, sau một vài thử nghiệm không sử dụng dấu cộng + khi gửi thông số như chỉ một mình ID sẽ được gửi làm đối số cho phương thức api mà không cần //likes để sử dụng:

$this->getFacebook()->api("/".$id."/likes", 'post'); 

Hoặc thậm chí tốt hơn:

$this->getFacebook()->api("/$id/likes", 'post'); 

Ngoài ra hãy chắc chắn rằng bạn có sự cho phép mở rộng publish_stream, hãy tham khảo document này.

+1

Thật không may, tất cả điều này chỉ trả lại cho tôi danh sách các lượt thích hiện tại..Đặc biệt là một số đối tượng json..Tôi đã viết trong trình duyệt của tôi địa chỉ này: graph.facebook.com/some_post_id/likes và thậm chí nếu tôi nối nó với mã thông báo truy cập của tôi (..? access_token = blabla) nó không hoạt động. Và nếu tôi có điều này trong mã PHP của tôi tôi nhận được lỗi: Lỗi nghiêm trọng: Uncaught OAuthException: (# 100) Url tham số là bắt buộc ... đó là trohwn trên dòng 543 trong facebook.php .. – simekadam

+0

Tôi chắc chắn 100% rằng cấu trúc post_id là sai, bạn có thể đăng bài đó ở đây không? – ifaour

+0

Đây là nó tôi đăng nó trên gist .. https://gist.github.com/756287 – simekadam

3

Xem những người thích đối tượng với id $ id:

$this->getFacebook()->api("/$id/likes", 'get'); 

Thêm muốn phản đối với id $ id:

$this->getFacebook()->api("/$id/likes", 'post'); 

Di chuyển như thế nào từ đối tượng với id $ id:

$this->getFacebook()->api("/$id/likes", 'delete'); 

Đảm bảo bạn có quyền publish_stream để đăng và xóa các lượt thích.

Một wasy dễ dàng để thử nghiệm với điều này là thông qua facebook graphapi explorer.

+0

http://stackoverflow.com/questions/12577481/adding-like-comment-issue- sử dụng đồ thị-api –