2012-02-01 40 views
16

Tôi bị nhầm lẫn về cách tôi sử dụng vị trí trong trạng thái của người dùng. Tôi thấy có một trường địa điểm, nhưng tôi không biết cách sử dụng nó. Các hướng dẫn chỉ nói một đối tượng, nó không chỉ định ở tất cả các đối tượng mà nó muốn và ở định dạng nào nó muốn. Bất cứ ai có thể cho tôi một bàn tay trên gửi một tình trạng với một vị trí trên đó?Trạng thái Facebook iOS Vị trí

Đây là mã của tôi bây giờ:

- (void)postWithMessage:(NSString *)message image:(UIImage *)image location:(CLLocation *)location { 
    NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
    NSString *path = @"feed"; 
    [params setObject:@"status" forKey:@"type"]; 
    if (message && ![message isEqualToString:@""]) [params setObject:message forKey:@"message"]; 
    if (image) { 
     path = @"me/photos"; 
     [params setObject:@"photo" forKey:@"type"]; 
     NSData *imageData = UIImagePNGRepresentation(image); 
     [params setObject:imageData forKey:@"source"]; 
    } 
    if (location) { 
     //Stole this from iOS hackbook that Facebook wrote, but it wasn't helpful. 
     NSString *centerLocation = [[NSString alloc] initWithFormat:@"%f,%f", location.coordinate.latitude, location.coordinate.longitude]; 
     [params setObject:centerLocation forKey:@"center"]; 
    } 


    [facebook requestWithGraphPath:path andParams:params andHttpMethod:@"POST" andDelegate:self]; 
} 

Trả lời

1

Các tài liệu cho creating a stream post danh sách một tham số place có giá trị là Facebook Trang ID của địa điểm. Bạn có thể tìm thấy các id địa điểm này qua search hoặc querying the place FQL table.

Bạn cũng nên sử dụng đường dẫn đồ thị api me/feed trong trường hợp này.

Mặc dù không liên quan đến câu hỏi của bạn, trong chi nhánh if (image) bạn thêm thông số type không được ghi lại trong section on posting a photo.

0

Để thêm địa điểm, bạn cần cung cấp ID địa điểm được Facebook biết đến hiện tại. Cho rằng bạn có thể nhận được những nơi gần nhất mà trả về ID là tốt và sau đó thêm một trong những bạn muốn là nơi.

0

Bạn đã bỏ lỡ điều gì đó, như tôi nhớ, sổ ghi chép sử dụng vị trí để tìm id địa điểm và sau đó đặt nó vào thông số "địa điểm".

Để làm như vậy, 1. bạn cần làm một tìm kiếm:

https://graph.facebook.com/search? 
    q=coffee& 
    type=place& 
    center=40.7167,-74& 
    distance=1000 

// sao chép từ facebook:]

  1. chọn một nơi
  2. đăng bài với vị trí id Lưu ý rằng, như tôi đã thử trước khi bạn không thể chọn một địa điểm với khoảng cách hơn 1000m (không chắc chắn về nó bây giờ, đã thử lâu rồi)
0

để kiểm tra điều này, bạn có thể thử ở đây https://developers.facebook.com/tools/ trong lĩnh vực này dán dòng ví dụ này "tìm kiếm? Q = spa & type = đặt & trung tâm = 40,7167, -74 & khoảng cách = 1000"

then you will see results like 
{ 
    "data": [ 
    { 
     "location": { 
     "street": "221 Canal Street, Room 301", 
     "city": "New York", 
     "state": "NY", 
     "country": "United States", 
     "zip": "10013", 
     "latitude": 40.71761, 
     "longitude": -73.99933 
     }, 
     "category": "Spas/beauty/personal care", 
     "name": "CiCi Beauty Spa", 
     "id": "180068255444372" 
    }, 

etc... 

you can then post status like 
("message", "im here guys"); // your message 
("place", "180068255444372"); // the id of the place 

in the tool field "me/feed" 

trong công cụ thay đổi phương thức thành POST sau đó thêm tham số trường cho "message" và "place" để kiểm tra nó.

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