9

我正在开发 iPad 应用程序,我需要集成 Instagram。我找到了一个工作正常的样本。但是来到我的应用程序时,我在 Instagram 开发者帐户中注册为新用户。尽管我按照 Instagram API 文档中所述的步骤进行操作,但我收到错误消息“重定向 URI 与注册的重定向 URI 不匹配”。

有人可以指导我如何生成重定向 URI 吗?

这是我在 Instagram 中所做的。在此处输入图像描述

在我的模拟器中,我收到了这个错误:

在此处输入图像描述

4

2 回答 2

23


为您的应用程序使用重定向 URI:igeb6240d263fb4736b3740af87edd18ea://authorize

您的 REDIRECT URI 应为:“ig”+“您的 clientId”+“://authorize”

于 2013-07-12T21:05:28.853 回答
5

您可以使用任何您想要的作为重定向 URI。您必须在授权请求中将重定向 URI 作为 Get 参数传递。

确保两者匹配!您可以导航到子文件夹或向其中添加其他参数,但它的开头必须保持不变。

我建议不要使用您的网站,而是链接到您的应用程序 url 方案之一。有关如何设置的指南,请查看此处:http ://www.idev101.com/code/Objective-C/custom_url_schemes.html

因此,例如,您可以使用myapp://您想要在 instagram 注册的默认重定向 URI。

在您的应用程序中,您可以向其添加其他参数。Instagram 会将它们传递到您的重定向 URI,因此您可以在 AppDelegate 或服务器上再次读取它们。确保正确编码重定向 URI。最简单的方法是:

NSString *unescaped = [NSString stringWithFormat:@"myapp://?someparameter=%@",theparametersvalue];
NSString *redirectURI = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                                                                      NULL,
                                                                      (__bridge CFStringRef) unescaped,
                                                                      NULL,
                                                                      CFSTR("!*'();:@&=+$,/?%#[]"),
                                                                      kCFStringEncodingUTF8));

现在将redirectURI您的客户端 ID 与此 URL 一起插入并触发请求:

https://api.instagram.com/oauth/authorize/?client_id=YOURCLIENTID&redirect_uri=YOURREDIRECTURI&response_type=code

如果您需要的不仅仅是基本权限,请查看文档中的范围。

于 2013-07-16T23:52:25.737 回答