Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
715 views
in Technique[技术] by (71.8m points)

ios - Using Facebook Open Graph Story with map attachment (GeoPoint)

I'm trying to create some Open Graph Story with map attachment using iOS SDK and I'm have some issues.

First of all I'm having issues with the object creation... I had set a object that inherits from 'Place'. So here is the first question "how to setup a GeoPoint property using iOS Facebook SDK?"... After so many tries, I gave up... So I created a object that inherist from 'Object' and I created a custom property named 'location' as GeoPoint. But this solution brings me to same question "how to setup a GeoPoint property using iOS Facebook SDK?"

All I need is create a Story with a map that shows the venue location.

Here is my object:

id<FBOpenGraphObject> openGraphObject = (id<FBOpenGraphObject>)[FBGraphObject openGraphObjectForPost];
[openGraphObject setType:@"appnamespace:venue"];
[openGraphObject setTitle:[currentVenue name]];
[openGraphObject setObject:@"en_US" forKey:@"og:locale"];
[openGraphObject setObject:[[currentVenue locationLatitude] stringValue] forKey:@"appnamespace:location:latitude"];
[openGraphObject setObject:[[currentVenue locationLongitude] stringValue] forKey:@"appnamespace:location:longitude"];

But don't works.

It appears in Facebook Browser Objects, but with only the name. The other properties are nil.

Someone can help me?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your custom properties should be added in a dictionary named data. In my Facebook app I have an object (inheriting from Object) with a property named position which is a geo_point.

This is the code I use to create the object:

NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
object.provisionedForPost = YES;
object[ @"title"] = @"Title";   // for og:title
object[ @"type"] = @"my_namespace:my_object";
object[ @"data" ] = @{ @"position": @{ @"latitude": @55, @"longitude": @12 }};

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...