• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 无法使用 Twitter Fabric iOS 框架从 Twitter 获取用户的电子邮件

[复制链接]
菜鸟教程小白 发表于 2022-12-13 08:58:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试为 iOS 开发新的 Fabric twitter 工具包。 登录后,我们可以要求用户允许访问电子邮件 ID,如果允许,则返回登录用户的电子邮件,但它给了我错误。

Email (null), Error: Error Domain=NSURLErrorDomain Code=-1001 
"The request timed out." UserInfo=0x7fdd314f1c30 
{NSUnderlyingError=0x7fdd314d9aa0 "The request timed out.", 
NSErrorFailingURLStringKey=https://api.twitter.com/1.1/account/verify_cre
dentials.json?skip_status=true&include_email=true, 
NSErrorFailingURLKey=https://api.twitter.com/1.1/account/verify_credentia
ls.json?skip_status=true&include_email=true, 
NSLocalizedDescription=The request timed out.}

这是我从他们的文档中尝试过的代码。

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 {
    // TODO: Handle user not signed in (e.g.
    // attempt to log in or show an alert)
}

我的代码有什么问题吗?请帮我。 我可以将我的状态和媒体发布到 Twitter,但无法获取电子邮件 ID。

谁能帮我解决这个问题?我也是开发新手。



Best Answer-推荐答案


要获取用户电子邮件地址,您的应用程序应该被列入白名单。这里是 link .转至 use this form .您可以向 [email protected] 发送邮件,其中包含有关您的应用程序的一些详细信息,例如消费者 key 、应用程序的应用商店链接、隐私政策链接、元数据、如何登录我们的应用程序的说明等。他们将2-3个工作日内回复。

这是我如何通过与 Twitter 支持团队的对话被列入白名单的故事:

  • [email protected] 发送邮件,其中包含有关您的应用程序的一些详细信息,例如消费者 key 、应用程序的应用商店链接、隐私政策链接、元数据、有关如何操作的说明登录我们的应用程序。在邮件中提及您要在应用内访问用户电子邮件地址。

  • 他们将审核您的应用并在 2-3 个工作日内回复您。

  • 一旦他们说您的应用已列入白名单,请在 Twitter 开发者门户中更新您的应用设置。登录 apps.twitter.com和:

    1. 在“设置”标签上,添加服务条款和隐私政策网址
    2. 在“权限”标签上,将 token 的范围更改为请求电子邮件。只有在您的应用被列入白名单后才能看到此选项。

动手编写代码

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)usersShowNSString *)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);
    }
}

希望对你有帮助!!!

关于ios - 无法使用 Twitter Fabric iOS 框架从 Twitter 获取用户的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339494/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap