4

我可以在 iPhone 上轻松实现使用 facebook 登录。但我听说,pinterest 没有官方 API。

所以我想知道是否有办法用 Pinterest 实现登录。所以我的应用程序可以在用户使用 pinterest 登录后识别用户。

4

3 回答 3

4

如果没有官方的 Pinterest 公共 API,您编写的任何其他解决方法都可能很容易被破坏。最好直接向 Pintrist 注册,并希望他们一旦想出测试版 SDK 或 API,就会为您提供访问权限。

也就是说,似乎有一些东西可能可用,但不确定当前状态是什么。

于 2012-12-05T05:54:47.353 回答
1

Pintrest 使用 oAuth2,您应该能够像所有其他提供者一样使用它,即 GET 请求到某个 url 以获取令牌,可以在此处找到分步说明 http://tijn.bo.lt/pinterest-api

OAuth2 是官方 api 问题归结为查找端点和 GET 语法需要注意的一点是,返回的对象可以包含跨提供商的不同值,例如我需要 Twitter 和 FB 解决方案,但 Twitter 没有给你用户的电子邮件,因此您必须单独询问(以唯一标识跨提供商的同一帐户) 对于 ruby​​,有omniauth gem,可让您轻松使用多个提供商(策略)。推出自己的解决方案或为 IOS 找到库应该不会太复杂

于 2012-12-05T06:05:54.030 回答
0

嗨,Pinterest 没有官方 api,但
这里有一个已经回答的链接

或尝试这样,创建具有以下目标的按钮
[pintrestBtn addTarget:self action:@selector(pintrestButtonSelcted) forControlEvents:UIControlEventTouchUpInside]

并在htmlstring完美 url 出现时将其推送到另一个具有 webview 的视图控制器并将其加载htmlstring到该 webview 中

- (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;

}

于 2012-12-05T06:06:03.097 回答