IOS应用程序中的instagram集成中的“redirectURI不匹配已注册的redirectURI”

我正在开发iPad应用程序,我需要整合Instagram。 我发现一个正常工作的样本。 但来到我的应用程序,我注册为Instagram开发者帐户中的新用户。 虽然我按照Instagram API文档中所述的步骤操作,但是出现错误“redirectURI与注册的redirectURI不匹配”。

有人可以指导我如何生成redirect的URI?

这是我在Instagram做的。 在这里输入图像说明

而在我的模拟器中,我得到这个错误:

在这里输入图像说明

使用REDIRECT URI:igeb6240d263fb4736b3740af87edd18ea:// authorize
为您的应用程序

你的REDIRECT URI应该是:“ig”+“你的clientId”+“://授权”

你可以使用任何你想要的redirect的URI。 您必须在授权请求中将redirectURI作为Getparameter passing。

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

我build议不要使用你的网站,而是链接到你的一个应用程序urlscheme。 有关如何设置这些指南,请看这里: http : //www.idev101.com/code/Objective-C/custom_url_schemes.html

所以举个例子,你可以使用myapp://作为默认的redirectURI,你想用instagram注册。

在你的应用程序中,你可以添加额外的参数。 Instagram会将这些信息传递给你的redirectURI,这样你可以在你的AppDelegate或你的服务器上再次读取它们。 确保你正确地编码redirectURI。 最简单的方法是:

 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 

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