7 Stimmen

Facebook iOS Autorisieren und Posten ohne Dialog?

Ich fange gerade mit dem Facebook SDK für iOS an und habe die Dokumentation und andere Hilfen gründlich durchgesehen, kann aber nicht erfolgreich sein.

Ich habe eine neue ansichtsbasierte Anwendung gestartet und wie in den Unterlagen empfohlen autorisiert. Jedes Mal, wenn ich die App starte, wechselt sie zur Facebook-App (die ich auf meinem iPhone installiert habe) und sagt: "Bereits autorisiert, drücken Sie OK". Wie kann ich verhindern, dass dies wiederholt geschieht?

Ich habe auch versucht, auf Facebook zu posten, ohne einen Dialog zu erhalten. Die Konsole sagt mir, dass eine Anfrage gemacht wird, aber dann tritt ein Fehler auf (stürzt nicht ab, aber die didFailWithError sagt mir).

Wie auch immer, ich habe keinen meiner Codes gepostet, da es relativ einfach zu sein scheint, also wenn es jemanden gibt, der weiß, wie man dies tut, würde ich massiv jede Hilfe zu schätzen wissen, und möglicherweise sogar ein Codebeispiel.

Danke.

9voto

arclight Punkte 5243

Sie übersehen einen wichtigen Punkt in Ihrem Delegierten, Sie müssen die Sitzungsdaten selbst speichern

- (void)fbDidLogin {
    // store the access token and expiration date to the user defaults
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:facebook.accessToken forKey:ACCESS_TOKEN_KEY];
    [defaults setObject:facebook.expirationDate forKey:EXPIRATION_DATE_KEY];
    [defaults synchronize];
}

Wenn du Facebook initialisierst, musst du Folgendes tun

facebook = [[Facebook alloc] initWithAppId:kAppId];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
facebook.accessToken = [defaults objectForKey:ACCESS_TOKEN_KEY];
facebook.expirationDate = [defaults objectForKey:EXPIRATION_DATE_KEY];

Und schließlich, wenn Sie ohne Dialog posten möchten, würden Sie Folgendes tun

NSString *message = @"Visit my blog http://effectivemobility.blogspot.com/";
NSArray *obj = [NSArray arrayWithObjects:message, nil];
NSArray *keys = [NSArray arrayWithObjects:@"message", nil];

// There are many other params you can use, check the API
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjects:obj forKeys:keys];

[facebook requestWithGraphPath:@"me/feed" andParams:params andHttpMethod:@"POST" andDelegate:nil];

Ich hoffe, das hilft

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X