2015-05-06 15 views
6

Ich muss Aktion veröffentlicheniOS, wie Aktion auf benutzerdefiniertes Objekt zu veröffentlichen Graph Api - Facebook

Ich habe Erfolg bei der Veröffentlichung 'liking the link' von Graph API. z. B. 'abc likes www.abc.com'

jetzt bin ich bei 'liking benutzerdefinierte Objekt' z. B. 'abc mag toy1' fest und auch die Gesamtzahl der Likes zu erhalten.

Dies ist Beispielcode, die

 NSDictionary *properties = @{ 
            @"og:type": @"toy", 
            @"og:title": @"toy1", 
            @"og:description": @"This is a sample course."};  
     FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:properties]; 
     FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init]; 
     action.actionType = @"og.likes"; 
     [action setObject:object forKey:@"toy"]; 
     FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init]; 
     content.action = action; 
     content.previewPropertyName = @"toy"; 
     FBSDKShareAPI *shareAPI = [[FBSDKShareAPI alloc] init]; 
     // optionally set the delegate 
     shareAPI.delegate = self; 
     shareAPI.shareContent = content; 
     [shareAPI share]; 

Bearbeiten nicht funktioniert: Mein Code durch

Wechsel arbeitet
toy 

zu

appnamespace:toy 

und

[action setObject:object forKey:@"toy"]; // to [action setObject:object forKey:@"object"]; 

jetzt möchte ich Gesamtanzahl der Likes auf dieses benutzerdefinierte Objekt

Antwort

0

abrufen Ein "og: type" von "Spielzeug" ist nicht gültig. Es sollte entweder ein allgemeiner OG-Typ (wie "fitness.course") oder ein benutzerdefinierter ("yourappnamespace: toy") sein.

Wenn Sie einfach eine Website oder eine andere URL zu mögen, können Sie die OG Objekt überspringen und erstellen Sie einfach die Aktion wie

 
FBSDKShareOpenGraphAction *action = [FBSDKShareOpenGraphAction actionWithType:@"og.likes" 
                    objectURL:[NSURL URLWithString:@"http://www.example.com"] 
                      key:@"og:object"]; 

(beachten Sie, dass, wenn Sie versuchen, die gleiche Sache zweimal mögen es dir geben ein Fehler).

Sie sollten sicherstellen, dass Ihr Delegat - (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error implementiert, um Fehlerinformationen zu erhalten. Sie können auch die FBSDKLikeButton or FBSDKLikeControl stattdessen verwenden.

+0

Danke Chris für die Antwort, jetzt gibt es einen Fehler wie "Wert für Spielzeug ist erforderlich" – Haris

+0

können Sie einen Bericht an developers.facebook.com/bugs einreichen, damit wir mehr Informationen wie Ihre App-ID erhalten können? –

+0

ja, sie haben gebeten, es auf Stack-Overflow lol zu diskutieren. – Haris