Twitter フレームワークを使用する必要があります。Twitter はそのための美しいフレームワークを提供しています。それをアプリに統合するだけです。
ユーザーの電子メール アドレスを取得するには、アプリケーションがホワイトリストに登録されている必要があります。ここにリンクがあります。このフォームを使用するために移動します。コンシューマ キー、アプリの App Store リンク、プライバシー ポリシーへのリンク、メタデータ、アプリへのログイン方法など、アプリに関する詳細を sdk-feedback@twitter.com にメールで送信できます。 2〜3営業日以内に返信します。
以下は、Twitter サポート チームとの会話によってホワイトリストに登録された経緯です。
sdk-feedback@twitter.com
コンシューマ キー、アプリの App Store リンク、プライバシー ポリシーへのリンク、メタデータ、アプリへのログイン方法など、アプリに関する詳細を記載したメールを に送信します。アプリ内のユーザーのメールアドレスにアクセスしたい旨をメールでお知らせください。
彼らはあなたのアプリをレビューし、2 ~ 3 営業日以内に返信します。
アプリがホワイトリストに登録されていると言われたら、Twitter 開発者ポータルでアプリの設定を更新します。apps.twitter.comにサインインして、次の操作を行います。
- [設定] タブで、利用規約とプライバシー ポリシーの URL を追加します。
- [アクセス許可] タブで、トークンのスコープを変更して電子メールを要求します。このオプションは、アプリがホワイトリストに登録された後にのみ表示されます。
コードに手を入れる
Twitter フレームワークの使用:
ユーザーのメールアドレスを取得する
-(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)
}
}
ユーザー プロファイルを取得する
-(void)usersShow:(NSString *)userID
{
NSString *statusesShowEndpoint = @"https://api.twitter.com/1.1/users/show.json";
NSDictionary *params = @{@"user_id": userID};
NSError *clientError;
NSURLRequest *request = [[[Twitter sharedInstance] APIClient]
URLRequestWithMethod:@"GET"
URL:statusesShowEndpoint
parameters:params
error:&clientError];
if (request) {
[[[Twitter sharedInstance] APIClient]
sendTwitterRequest:request
completion:^(NSURLResponse *response,
NSData *data,
NSError *connectionError) {
if (data) {
// handle the response data e.g.
NSError *jsonError;
NSDictionary *json = [NSJSONSerialization
JSONObjectWithData:data
options:0
error:&jsonError];
NSLog(@"%@",[json description]);
}
else {
NSLog(@"Error code: %ld | Error description: %@", (long)[connectionError code], [connectionError localizedDescription]);
}
}];
}
else {
NSLog(@"Error: %@", clientError);
}
}
それが役に立てば幸い !!!