Ich habe Twitter-Kit in meine iOS-App integriert, indem ich https://dev.twitter.com/twitter-kit/ios/configure dies folgt. Ich könnte mich nach der Authentifizierung anmelden und meinen Twitter-Namen sehen, aber jetzt möchte ich meine E-Mail-Adresse abrufen, also habe ich TWTRShareEmailViewController verwendet, der dem Benutzer eine Freigabe-E-Mail-Ansicht präsentiert, die null zurückgibt. Ich ging durch die Dokumente, in denen sie über meine App erwähnt wurden, um auf die weiße Liste gesetzt zu werden, um eine E-Mail-Erlaubnis anzufordern, und sagte, ich solle dieses Formular ausfüllen https://support.twitter.com/forms/platform bekomme ich nicht, was ich als nächstes tun soll? Wie erhalte ich die Benutzer-E-Mail-Berechtigung genau? Schlage jede Hilfe vor. Danke im Voraus.Wie beantragt man die Erlaubnis zum Abrufen der E-Mail-Adresse des Benutzers mit der Version 1.2.0 des Twitter-Kits in ios8?
Antwort
Ich habe kein bestimmtes Formular gefunden, um mich zu bitten, auf die weiße Liste gesetzt zu werden. Ich ging auf ihren Formularlink https://support.twitter.com/forms/platform und ich überprüfte die Option "Ich habe eine API-Richtlinienfrage, die nicht von diesen Punkten abgedeckt wird". Sie antworteten ein paar Tage später und baten mich um weitere Informationen über die Anwendung und ihre App-ID. Ich warte eigentlich auf ihre Antwort.
EDIT:
So nach einigen (viel) E-Mails mit [email protected] und ein paar Bugs, die ich habe endlich die weiße Liste gesetzt. Aber die Option ist derzeit nicht mit Fabric verfügbar, also müssen Sie eine Twitter-App unter apps.twitter.com erstellen. Senden Sie einfach eine Mail mit Ihrer App-ID oder Ihren Schlüsseln. Sie werden Ihnen wahrscheinlich eine kurze Beschreibung Ihrer App geben und es sollte nicht so lange dauern, bis sie auf die weiße Liste gesetzt wird. Viel Glück!
Nach einer Konversation mit [email protected]
habe ich meine App auf die weiße Liste gesetzt. Hier ist die Geschichte:
senden Mail an
[email protected]
mit einigen Details über Ihre App wie Consumer-Key, App Store-Link einer App, Link zur Datenschutzrichtlinie, Metadaten, Anweisungen, wie in unserer App anmelden. Erwähnen Sie in der E-Mail, dass Sie auf die Nutzer-E-Mail-Adresse in Ihrer App zugreifen möchten.Sie werden Ihre App überprüfen und Ihnen innerhalb von 2-3 Werktagen antworten.
Sobald Sie sagen, dass Ihre App auf der weißen Liste ist, aktualisieren Sie die Einstellungen Ihrer App im Twitter Developer Portal. Melden Sie sich in apps.twitter.com und:
- Auf der Registerkarte ‚Einstellungen‘, fügen Sie ein Nutzungsbedingungen und Datenschutzerklärung URL
- Sie auf der Registerkarte ‚Berechtigungen‘, Token des Oszilloskops ändern E-Mail anzufordern. Diese Option wird nur angezeigt, sobald Ihre App auf die weiße Liste gesetzt wurde.
Es ist Zeit, Code:
-(void)requestUserEmail
{
if ([[Twitter sharedInstance] session]) {
TWTRShareEmailViewController *shareEmailViewController =
[[TWTRShareEmailViewController alloc]
initWithCompletion:^(NSString *email, NSError *error) {
NSLog(@"Email %@ | Error: %@", email, error);
}];
[self presentViewController:shareEmailViewController
animated:YES
completion:nil];
} else {
// Handle user not signed in (e.g. attempt to log in or show an alert)
}
}
Hoffe, es hilft !!!
Vielen Dank für die detaillierten Schritte. Leider wurde die E-Mail an [email protected] als unzustellbar zurückgeschickt. Ich sende meine E-Mail an [email protected], wie es das andere Poster vorgeschlagen hat, und gehe als letztes Mittel durch ihr Supportformular und hoffe, dass es an der richtigen Stelle ankommt. –
@NSPratik Die obige Methode gilt nicht von morgen, können Sie mir mit neuer Methode helfen. Überprüfen Sie hier "https://docs.fabric.io/ios/twitter/request-user-email-address.html" –
Senden Sie eine E-Mail an [email protected]
, um Ihre Twitter-Login-App zuerst auf die Whitelist zu setzen.
Schnell 3.0 Code mit Stoff
@IBAction func btnTwitterAction(_ sender: AnyObject) {
Twitter.sharedInstance().logIn { (session, error) in
if session != nil {
print("signed in as \(session!.userName)");
let client = TWTRAPIClient.withCurrentUser()
let request = client.urlRequest(withMethod: "GET",
url: "https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true",
parameters: ["include_email": "true", "skip_status": "true"],
error: nil)
client.sendTwitterRequest(request) { response, data, connectionError in
if (connectionError == nil) {
do{
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
print("Json response: ", json)
let firstName = json["name"]
let lastName = json["screen_name"]
let email = json["email"]
print("First name: ",firstName)
print("Last name: ",lastName)
print("Email: ",email)
} catch {
}
}
else {
print("Error: \(connectionError)")
}
}
} else {
NSLog("Login error: %@", error!.localizedDescription);
}
}
}
Danke Sir! Toller Code: thumbsUp –
Alles funktioniert gut in diesem Code, außer die E-Mail-Adresse zu erhalten: es gibt null zurück. –
@Fadwa_lmh, hast du deine Twitter-App auf die weiße Liste gesetzt, indem du eine E-Mail an [email protected] geschickt hast? –
ich das gleiche Problem konfrontiert habe vor kurzem
Hier ist, was Sie sollten versuchen, wenn Sie neue Twitter-Kit verwenden
Zum
- https://apps.twitter.com/
- Wählen Sie die Registerkarte Berechtigungen
- es Set Nur
Code zu lesen:
Twitter.sharedInstance().logIn(withMethods: [.webBased,.systemAccounts,.all]) {(session, error) -> Void in
if (session != nil) {
print("signed in as \(session?.userName)");
let client = TWTRAPIClient(userID: session?.userName)
client.loadUser(withID: (session?.userID)!, completion: { (user, error) in
let twitterClient = TWTRAPIClient.withCurrentUser()
let request = twitterClient.urlRequest(withMethod: "GET",
url: "https://api.twitter.com/1.1/account/verify_credentials.json",
parameters: ["include_email": "true", "skip_status": "true"],
error: nil)
twitterClient.sendTwitterRequest(request) { response, data, connectionError in
print(data!)
let s :String = String(data: data! as Data, encoding: String.Encoding.utf8)!
//
// let json = try JSONSerialization.jsonObject(with: responseData as Data, options: JSONSerialization.ReadingOptions.mutableLeaves) as? [String:AnyObject]
//
Twitter.sharedInstance().sessionStore.logOutUserID((session?.userID)!)
if let data = s.data(using: String.Encoding.utf8) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String:Any]
print(json!)
} catch {
print("Something went wrong")
}
}
}
})
} else {
}
Wie E-Mail-ID in Twitter bekommen?
Schritt 1: got zu https://apps.twitter.com/app/
Schritt 2: auf ur App klicken> klicken Sie auf die Erlaubnis Registerkarte.
Schritt 3: Hier überprüfen Sie die E-Mail-Box
Nach viel Forschung fand ich, dass Twitter keine E-Mail Erlaubnis als auch wir hatten twitter Login aus unserer App für iOS und Android unterstützt und gerade ausgeschlossen Facebook und verlinkt als unsere Hauptanforderung zu verwenden war, um E-Mail um jeden Preis zu erhalten. Bitte aktualisieren Sie, wenn Sie einen Hack darüber finden. danke ... – Mak13
Ich hatte heute eine Antwort und sie sagten mir, dass ich meine Frage nicht am richtigen Ort gestellt habe. Sie schlugen mir vor, die API-Dokumentation zu überprüfen (was ich natürlich schon gemacht habe) und ihre Entwicklerdiskussion zu durchsuchen (was ich auch getan habe). Ich denke also, ich bin nicht bereit, auf die weiße Liste gesetzt zu werden ... Wenn Sie sagen, dass sie keine E-Mail-Erlaubnis unterstützen, gilt dies auch, wenn Sie von Twitter auf die weiße Liste gesetzt werden? Du kannst es gar nicht fragen? –
Ich denke, wir können E-Mails erhalten, wenn unsere App auf die weiße Liste gesetzt wird, wenn sie uns TWTRShareEmailViewController zur Verfügung stellen, dann ist es sinnvoll, E-Mail-Erlaubnis zu unterstützen, wenn ich nicht verstehe, warum sie es bereitgestellt haben, aber wieder stellt sich die Frage, wie mache ich meine App wird auf die weiße Liste gesetzt. Schauen Sie sich dieses https://blog.twitter.com/2014/introducing-fabric an und sehen Sie Zeichen in Twitter para, was es sagt. Aktualisieren Sie mich, was zu tun ist, um die App auf die weiße Liste zu setzen. – Mak13