2013-04-24 23 views
8

iPadアプリで作業しており、Instagramを統合する必要があります。私はうまく動作するサンプルを見つけました。しかし、私のアプリに来て、私はinstagram開発者アカウントに新しいユーザーとして登録しました。私はInstagram APIドキュメントで述べたような手順を踏んでいますが、「リダイレクトURIは登録されたリダイレクトURIと一致しません」というエラーが表示されます。IOSアプリケーションでの図の統合で「リダイレクトURIが登録されたリダイレクトURIと一致しません」

私はリダイレクトURIを生成する方法について教えてもらえますか?

ここはInstagramで行ったことです。 enter image description here

そして、私のシミュレータで、私はこのエラーを取得しています:

enter image description here

+0

リダイレクトURLを誤って入力したか「/」が影響を与える可能性があるため、特殊記号や文字列のスペースには注意してください。 –

答えて

21

使用REDIRECT URI:igeb6240d263fb4736b3740af87edd18ea:「IG://アプリケーション

あなたのREDIRECT URIがどうあるべきため
を承認あなたのクライアントID "+":// authorize "

+6

Instagramの開発者ポータルでhttp/https以外のredirect_uriを入力できないため、Instagramは登録されていないredirect_urisを拒否しているため、これは機能しません。 – Eonil

+3

@SujalこのURLは開発者ポータルでは受け入れられません( "ig" + "あなたのclientId" + ":// authorize")InstagramのDevポータルに追加する正確なURL – Rajesh

+0

@Sujal Instagramクライアント登録ポータルdoesn非http(s)プロトコルを受け入れません。 myapp:// authorizeを入力することはできません。私は暗黙のモードを有効にしようとしましたが、ポータルの[セキュリティ]タブの[暗黙のOAuthを無効にする]チェックボックスをオフにしました。しかしそれはまだ非http(s)を受け入れませんでした。 どうすればそれを稼働させることができましたか? –

4

リダイレクトURIとして使用することができます。リダイレクトURIは、承認リクエストでGetパラメータとして渡す必要があります。

両方が一致していることを確認してください。サブフォルダに移動したり、追加のパラメータを追加したりすることはできますが、開始位置は変わりません。

あなたのウェブサイトを使用するのではなく、あなたのアプリのURLスキームの1つにリンクすることをお勧めします。ここを見て、それらを設定する方法のガイドについては :あなたのデフォルトのURIをリダイレクトするようhttp://www.idev101.com/code/Objective-C/custom_url_schemes.html

したがって、たとえば、あなたがInstagramのに登録することを、myapp://を使用することができます。

アプリ内にパラメータを追加できます。 InstagramはリダイレクトURIをリダイレクトURIに渡しますので、AppDelegateまたはサーバーで再度読み取ることができます。リダイレクトURIを正しくエンコードするようにしてください。これを行う最も簡単な方法は、次のようになります。今

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

このURLにクライアントIDと一緒にredirectURIを挿入し、要求をオフに解雇:

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

あなたが基本的な権限、チェック以上のものを必要とする場合ドキュメント内のスコープを変更します。

+2

Instagramポータルではhttp://とhttps:// URIのみを登録できますので、これがどのように機能するかはわかりません... – Zigglzworth

関連する問題