2015-05-06 16 views
6

Ho bisogno di pubblicare l'azioneiOS come pubblicare l'azione su oggetto personalizzato Graph Api - Facebook

Ho avuto successo nel pubblicare "Mi piace il collegamento" dall'API del grafico. ad esempio "abc likes www.abc.com"

ora sono bloccato su "Mi piace oggetto personalizzato", ad esempio "abc likes toy1" e anche per ottenere il numero totale di "Mi piace".

Si tratta di codice di esempio che non sta funzionando

 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]; 

Edit: Il mio codice funziona modificando

toy 

a

appnamespace:toy 

e

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

ora voglio recuperare il numero totale di Mi piace su questo oggetto personalizzato

risposta

0

Un "og: tipo" di "giocattolo" non è valido. Dovrebbe essere un tipo OG comune (come "fitness.course") o personalizzato ("yourappnamespace: toy").

Se siete semplicemente piacimento un sito web o altro URL, è possibile ignorare l'oggetto OG e solo creare l'azione come

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

(notare che se si tenta di come la stessa cosa due volte che vi darà un errore).

È necessario assicurarsi che il proprio delegato implementa - (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error per ricevere informazioni sugli errori.

Si potrebbe anche voler utilizzare il FBSDKLikeButton or FBSDKLikeControl invece.

+0

Grazie Chris per la risposta, ora il suo errore di dare come "valore per il giocattolo è obbligatorio" – Haris

+0

puoi presentare un rapporto a developers.facebook.com/bugs in modo che possiamo ottenere più informazioni come il tuo ID app? –

+0

sì, hanno chiesto di discuterlo su Stack Overflow lol. – Haris