私は Mac アプリケーションの作成への最初の進出を開始しており、ビジネスの最初の注文は、Soundcloud で OAuth を使用してアプリを認証することです。承認リクエストの送信は簡単ですが、Soundcloud からのリダイレクトをリッスンする方法に行き詰まっています。
info.plist で URL スキームを設定し、着信要求をリッスンするようにアプリケーションを設定しましたが、登録しようとしても応答がありません。URL を safari でテストしたところ、問題なく動作しました。
アプリのデリゲートのコード スニペットを次に示します。
- (void) applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self
andSelector:@selector(handleGetURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass andEventID:kAEGetURL];
[[NXOAuth2AccountStore sharedStore] setClientID:@"myClientID"
secret:@"superSecretSecret"
authorizationURL:[NSURL URLWithString:@"https://soundcloud.com/connect"]
tokenURL:[NSURL URLWithString:@"https://api.soundcloud.com/oauth2/token"]
redirectURL:[NSURL URLWithString:@"myApp://connect"]
forAccountType:@"iHopeThisWorks"];
}
- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
}
myApp://connect は私のローカル マシンにしか存在しないため、soundcloud は myApp://connect を見つける場所を知らないと思います。では、http 要求を処理する Web サービスのような仲介を作成する必要がありますか? もしそうなら、仲介者はどのようにして私のマシンに戻るインターフェースを知っているのでしょうか? これらが基本的な質問または見当違いの質問である場合は申し訳ありませんが、前述のように、これはこのようなことに対する私の最初のショットであり、私のgoogle-fuは解決策を見つけることができませんでした.