我正在开发 iPad 应用程序,我需要集成 Instagram。我找到了一个工作正常的样本。但是来到我的应用程序时,我在 Instagram 开发者帐户中注册为新用户。尽管我按照 Instagram API 文档中所述的步骤进行操作,但我收到错误消息“重定向 URI 与注册的重定向 URI 不匹配”。
有人可以指导我如何生成重定向 URI 吗?
这是我在 Instagram 中所做的。
在我的模拟器中,我收到了这个错误:
我正在开发 iPad 应用程序,我需要集成 Instagram。我找到了一个工作正常的样本。但是来到我的应用程序时,我在 Instagram 开发者帐户中注册为新用户。尽管我按照 Instagram API 文档中所述的步骤进行操作,但我收到错误消息“重定向 URI 与注册的重定向 URI 不匹配”。
有人可以指导我如何生成重定向 URI 吗?
这是我在 Instagram 中所做的。
在我的模拟器中,我收到了这个错误:
为您的应用程序使用重定向 URI:igeb6240d263fb4736b3740af87edd18ea://authorize
您的 REDIRECT URI 应为:“ig”+“您的 clientId”+“://authorize”
您可以使用任何您想要的作为重定向 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
如果您需要的不仅仅是基本权限,请查看文档中的范围。