Войти с помощью Pinterest

Я могу легко войти в систему с помощью Facebook на iPhone. Но я слышал, что официального API для pinterest не существует.

Поэтому мне интересно, есть ли способ реализовать вход в систему с помощью Pinterest. Таким образом, мое приложение может идентифицировать пользователя после его входа в систему с помощью pinterest.


person Venil Aminovich    schedule 05.12.2012    source источник


Ответы (3)


Без официального общедоступного API Pinterest, все остальное, что вы пишете как обходной путь, скорее всего, очень легко сломается. Лучше всего зарегистрироваться в Pintrist напрямую, и, надеюсь, они предоставят вам доступ к бета-версии SDK или API, как только они ее придумают.

Тем не менее, похоже, есть некоторые потенциально доступные материалы, но не уверен, каков текущий статус.

person Michael Dautermann    schedule 05.12.2012

Pintrest использует oAuth2, вы должны иметь возможность использовать его так же, как и все другие провайдеры, например, запрос GET на определенный URL-адрес для получения токена, пошаговые инструкции можно найти здесь http://tijn.bo.lt/pinterest-api

OAuth2 — это официальный API, проблема сводится к поиску конечной точки и синтаксису GET. Следует отметить, что возвращаемый объект может содержать разные значения у разных провайдеров, например, мне нужно было решение для Twitter и FB, но Twitter не дает вам адрес электронной почты пользователя, поэтому вам приходилось запрашивать его отдельно (чтобы однозначно идентифицировать одну и ту же учетную запись у разных поставщиков). Для ruby ​​​​есть гем omniauth, который позволяет вам с легкостью использовать несколько поставщиков (стратегий). Не должно быть сложно развернуть собственное решение или найти библиотеку для IOS.

person Piotr Kaluza    schedule 05.12.2012

Привет, официального API для Pinterest нет, но
здесь уже есть ответ на ссылку

или попробуйте так, создайте кнопку со следующей целью
[pintrestBtn addTarget:self action:@selector(pintrestButtonSelcted) forControlEvents:UIControlEventTouchUpInside]

и нажмите, когда htmlstring станет идеальным URL-адресом, отправьте его на другой контроллер просмотра, у которого есть веб-просмотр, и загрузите этот htmlstring в этом веб-просмотре

- (void) pintrestButtonSelcted {

NSString *htmlString = [self generatePinterestHTMLForSKU:nil];
NSLog(@"Generated HTML String:%@", htmlString);
WebViewController *webViewController = [[WebViewController alloc] init];
webViewController.htmlString = htmlString;
webViewController.view.frame = CGRectMake(0, 0, 300, 300);
[self presentModalViewController:webViewController animated:YES];

}

- (NSString*) generatePinterestHTMLForSKU:(NSString*)sku {
NSString *description = @"Post your description here";

// Generate urls for button and image
NSString *sUrl = [NSString stringWithFormat:@"http://reedperry.com/2011/04/27/apple-logo/"];
NSLog(@"URL:%@", sUrl);
NSString *protectedUrl = ( NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,( CFStringRef)sUrl, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
NSLog(@"Protected URL:%@", protectedUrl);
NSString *imageUrl = [NSString stringWithFormat:@"\"%@\"", sUrl];
NSString *buttonUrl = [NSString stringWithFormat:@"\"http://pinterest.com/pin/create/button/?url=http://itunes.apple.com/us/app/pinterest/id429047995?mt=8&media=http://reedperry.com/2011/04/27/apple-logo/%@&description=Welcome you all%@\"", protectedUrl, description];

NSMutableString *htmlString = [[NSMutableString alloc] initWithCapacity:1000];
[htmlString appendFormat:@"<html> <body>"];
[htmlString appendFormat:@"<p align=\"center\"><a href=%@ class=\"pin-it-button\" count-layout=\"horizontal\"><img border=\"0\" src=\"http://assets.pinterest.com/images/PinExt.png\" title=\"Pin It\" /></a></p>", buttonUrl];
[htmlString appendFormat:@"<p align=\"center\"><img width=\"400px\" height = \"400px\" src=%@></img></p>", imageUrl];
[htmlString appendFormat:@"<script type=\"text/javascript\" src=\"//assets.pinterest.com/js/pinit.js\"></script>"];
[htmlString appendFormat:@"</body> </html>"];
return htmlString;

}

person arthankamal    schedule 05.12.2012
comment
если вы загрузите его с помощью веб-просмотра, сначала он придет Pin it, если вы нажмете эту кнопку, он перенаправит вас на страницу Login - person arthankamal; 05.12.2012
comment
Мне нужно получить информацию для входа (какой-то токен), чтобы идентифицировать пользователя в моем приложении. - person Venil Aminovich; 05.12.2012