gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:15 25 4
gpt4 key购买 nike

我正在尝试为 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。

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

最佳答案

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

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

  • 将邮件发送到 sdk-feedback@twitter.com,其中包含有关您的应用程序的一些详细信息,例如消费者 key 、应用程序的 App Store 链接、隐私政策链接、元数据、操作说明登录我们的应用程序。在邮件中提及您想要在您的应用程序中访问用户电子邮件地址。

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

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

    1. 在“设置”标签上,添加服务条款和隐私政策 URL
    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)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);
}
}

希望对您有所帮助!!!

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com