2012-01-22 36 views
16

Có cách nào để xác định loại đối tượng nào được biểu thị bằng ID đã cho https://graph.facebook.com/ID hay không. Khi tôi yêu cầu điều này trong công cụ Graph API Explorer, trong phản hồi có một trường có tên là type, có thể chứa user, page, album, photo v.v. Nhưng khi tôi yêu cầu tương tự từ trình duyệt hoặc thông qua SDK, để đáp ứng không có trường như vậy, nhưng mọi thứ khác là như nhau. Và tôi phải đoán những loại đối tượng tôi đã dựa vào các lĩnh vực khác: ví dụ nếu có một lĩnh vực gender có nghĩa là tôi có đối tượng user. Tôi nghĩ rằng đây là một lỗi trong FB Graph API. Có giải pháp nào cho điều này?Xác định loại đối tượng có id trong FB Graph API

Bạn có thể thấy sự khác biệt trên ảnh chụp màn hình the response of graph api explorer tool the response from my browser

+2

Chính xác những gì tôi đang tìm kiếm vài ngày. FB tài liệu là một trong những crap. – Jeyara

+0

Dường như dữ liệu này không còn có sẵn trong các phiên bản mới hơn của Graph Api. 2.3 là phiên bản cuối cùng với tất cả dữ liệu. – Chemist

Trả lời

35

Đây là có thể nếu bạn sử dụng một cái gì đó Facebook gọi là "mẫn" bằng cách thêm metadata luận yêu cầu của bạn:

GET http://graph.facebook.com/object_id?metadata=1 

Kết quả sẽ chứa type trường

+0

cảm ơn rất nhiều :) Tôi vừa thêm 'metadata = 1' vào lúc kết thúc và bây giờ nó hoạt động tốt – haynar

+13

Có thể hơi muộn nhưng đối với người mới, bạn có thể tiết kiệm băng thông bằng cách chỉ định loại trường siêu dữ liệu bằng cách sử dụng? Metadata = 1 & fields = picture, metadata.fields (loại) –

+1

FB api là API lộn xộn nhất mà tôi đã làm việc ... Đối với siêu dữ liệu "hình ảnh" và "liên kết" sẽ không trả về loại nhưng bạn có thể nhập thông qua "fields = type", nhưng cho "video", nó sẽ trả về lỗi, đối với "video", bạn phải nhận loại thông qua siêu dữ liệu ...>< – Stalinko

6

Bạn có thể thêm siêu dữ liệu = 1 và phản hồi sẽ có metadata: {type: ...} nếu bạn yêu cầu như vậy:

http://graph.facebook.com/object_id?metadata=1&fields=id,name,metadata{type} 

Dựa trên khen thưởng của Vinicius Tavares.

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