2 Stimmen

POST von Daten vom IPhone mit Google-Konto-Authentifizierung nicht möglich

Ich arbeite an einer IPhone-Anwendung, die mit einer Google App Engine-Anwendung zusammenarbeitet. Ich schaffe es, mich mit einem Google-Konto anzumelden und erhalte das Authentifizierungs-Token. Ich bin auch in der Lage, Daten aus dem GAE-Dienst zu erhalten (ich habe es nach dem Lesen einer anderen Frage hier geschrieben), aber jetzt muss ich Daten POST, so dass ich das Authentifizierungs-Token in der Kopfzeile der POST-Anforderung senden müssen. Ich habe mehrere Optionen ausprobiert, aber keine davon hat funktioniert.

Hier ist der Code, den ich verwende, um die Autorisierung in die Kopfzeile einzufügen:

NSString* urlStr = [NSString stringWithFormat:@"%@%@", HOST, url];
NSMutableURLRequest* urlPost = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStr]]; 
NSString* authStr = [NSString stringWithFormat:@"GoogleLogin auth=%@", token];
[urlPost addValue:authStr forHTTPHeaderField:@"Authorization"];

aber es funktioniert nicht.

Gibt es Hilfe?

3voto

Ben Gottlieb Punkte 84876

Sie müssen Folgendes verwenden [request setHTTPMethod: @"POST"] et [request setHTTPBody: postdata] um die POST-Komponenten richtig zu konfigurieren. Siehe die NSMutableURLRequest Doku für weitere Details.

2voto

Marc Novakowski Punkte 43303

Wann immer ich ein Problem im Zusammenhang mit HTTP behebe, greife ich als erstes zu folgendem Tool Charles HTTP-Proxy . Es zeigt Ihnen die gesamte Anfrage und die Antwort zur genaueren Prüfung an.

1voto

Nick Johnson Punkte 99799

Wenn Sie sich gegenüber einer App Engine-App authentifizieren, müssen Sie ein Authentifizierungs-Cookie abrufen und senden, anstatt die GoogleLogin-Authentifizierung zu verwenden. Der Quellcode von appengine_rpc.py im Python SDK zeigt, wie das geht.

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