3

アプリにShareKitを実装しようとしています。SHKConfig.hファイルのTwitterアプリケーション設定が必要なセクションに、コールバックURLを設定することになっている行があります。 ここに画像の説明を入力してください

TwitterでTwitterアプリケーションを開き、そこにあるすべてのフィールドに入力しましたが、[コールバックURL]フィールドにどのデータを挿入する必要があるかがわかりません。 ここに画像の説明を入力してください

誰か説明できますか?

4

3 に答える 3

9

Twitterのアプリケーション設定に書き込んだコールバックパラメータは無視されます。たとえば、 http://www.google.comのように何でも書くことができます(無視されるため、何でもかまいません)。

#defineにコールバックURLを追加すると、その値は所有者の承認手順でTwitterに送信され、以前にTwitterWebサイトに書き込んだ値を上書きします。奇妙な、私は知っています。これは、このセキュリティの脆弱性に関連しています。

コールバックパラメータは、Twitterが認証後にユーザーに送信するURLです。アプリケーションではなくWebサイトで実行する場合、URLコールバックはOAuthフローの制御を回復するために使用されます。

アプリケーションでは、myapplication:// twitterのようなカスタムスキームに設定してから、スキームmyapplicationをアプリに登録できます。このように、認証後、UIWebViewまたはSafariで実行されているTwitter Webサイトは、iOSがアプリに割り当てられていることを認識しているURLを起動します。これにより、OAuthフローの制御を回復できます。

それが理論です。ShareKitがどのように機能するのか正確にはわかりません。UIWebViewで認証を実行し、ユーザーのアクティビティを検出して手動で制御を回復している可能性があります。これは、別の方法です。

于 2011-07-20T10:19:52.323 に答える
1

私はShareKitの新しいバージョンを使用していますが、ソースにはTwitterのコールバックに関する次のコメントがあります。

コールバックURLは、SHKTwitterCallbackUrlに入力したものと一致する必要があります。コールバックURLは、実際の既存のURLである必要はありません。ユーザーがリダイレクトされる前にShareKitがインターセプトするため、ユーザーがアクセスすることはありません。一致する必要があります。

Twitterの設定でコールバックURLをhttp://somecallbackurl.comに設定し、これをソースでも同じように設定すると、魅力のように機能します。:]。この助けを願っています。

于 2012-04-04T12:09:12.430 に答える
0

あなたはこれを使うことができます

func application(_ application:UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool { print("called") let directedByTWTR = Twitter.sharedInstance().application(application, open: url, options: options) return directedByTWTR }

于 2017-03-03T13:28:03.987 に答える