2012-01-02 25 views
6

trạng:Phát triển FB - Làm thế nào để tìm kiếm thành phố facebook của "chìa khóa" của họ

Tôi hiện đang làm việc trên một dự án nơi người dùng có thể tìm kiếm một thành phố. Để có được kết quả tôi sử dụng url này qua ajax:

https://graph.facebook.com/search?q=**sundsvall**&type=adcity&country_list=**se**&access_token= 

Khi tôi gửi một yêu cầu đến facebook như thế tôi nhận được một câu trả lời như thế này:

{ 
    "data": [ 
     { 
     "name": "Sundsvall, Sweden", 
     "key": 220260543, 
     "subtext": "Vasternorrlands Lan, Sweden" 
     }, 
     { 
     "name": "Sundsvallen, Sweden", 
     "key": 220260542, 
     "subtext": "Jamtlands Lan, Sweden" 
     } 
    ] 
} 

Từ phản ứng mà tôi lấy chìa khóa và lưu trữ nó trong bảng cơ sở dữ liệu của tôi.

Vấn đề của tôi

Tôi cũng muốn để điều ngược lại, và nhận được "cái tên" & "subtext" bằng cách cung cấp "chìa khóa". Bạn biết đấy, "cung cấp cho tôi thông tin trong đó khóa = 220260543".

Tôi biết tôi có thể lưu trữ tên và văn bản phụ trong cơ sở dữ liệu của mình, nhưng tôi chỉ muốn giữ khóa.

Bất cứ ai cũng biết nếu điều này là có thể? Làm sao? Liên kết? Tôi đã đọc tài liệu phát triển facebook nhưng chưa tìm thấy gì cả.

Trả lời

0

Theo tài liệu của Facebook, truy vấn của bạn chỉ được sử dụng để thực hiện tự động hoàn tất trong API quảng cáo. Chìa khóa cũng chỉ dành riêng cho một quốc gia. Không có gì trong tài liệu của họ cho thấy chúng tôi nghĩ cách quay trở lại từ chìa khóa đến thành phố. Dường như không có bảng FQL cho các thành phố có cột khóa. Và đồ thị vẫn là xương trần và thậm chí còn ít hơn.

1

Nếu bạn không cần phải "subtext"/khu vực, và bạn đang gửi tên thành phố đầy đủ (không sử dụng trong một số bối cảnh autocomplete):

Một cách khác là để tìm kiếm places (trong đó bao gồm các thành phố) thay vì adcities. Điều này sẽ mang lại một ID đồ thị cho vị trí mà sau đó có thể được cắm vào graph.facebook.com.

Ví dụ truy vấn:

https://graph.facebook.com/search?q=sundsvall%20sweden&type=place&access_token=[TOKEN] 

này sẽ mang lại:

{ 
    "data": [ 
     { 
     "name": "Sundsvall, Sweden", 
     "category": "City", 
     "location": { 
      "latitude": 62.3833, 
      "longitude": 17.3 
     }, 
     "id": "110103992352737" 
     }, 
     { 
     "name": "Ladyland of Sweden", 
     "category": "Local business", 
     "location": { 
      "street": "Thulegatan 12", 
      "city": "Sundsvall", 
      "country": "Sweden", 
      "zip": "85232", 
      "latitude": 62.389481631972, 
      "longitude": 17.303409784226 
     }, 
     "id": "170645612982568" 
     }, 
     ... 

Và vĩ đại như Ladyland âm thanh, bạn có thể loại bỏ nó và bất cứ điều gì khác trong phản ứng không phù hợp với "thể loại": "thành phố ". Đáng buồn là tôi không chắc chắn về cách hạn chế kết quả thành phố trước thời hạn, nhưng có vẻ như các thành phố luôn được xếp loại cao cho loại truy vấn này, vì vậy phương pháp "truy vấn sau đó lọc" sẽ hoạt động.

ID sơ đồ cho Sundsvall, từ kết quả trên:

https://graph.facebook.com/110103992352737

+1

Tôi biết điều này là đã gần 5 năm kể từ khi bài mẹ này, và tôi muốn khóc, khi tôi nhìn thấy những loại đầu ra bạn có thể nhận đó. Hôm nay chúng ta có thể chỉ nhận được đối tượng với hai phím '' '{ "tên": "Sundsvall, Thụy Điển", "id": "110103992352737" },' '' và sau này tôi phải thực hiện một cuộc gọi khác để nhận thêm thông tin. KINH QUÁ! Tại sao mọi người đã xóa một thông tin như vậy khỏi điểm cuối này. – Rozkalns