2011-07-20 62 views
3

我試圖在我的應用程序中實現ShareKit;在SHKConfig.h文件,在需要Twitter的應用程序設置部分,還有就是我應該設置回調URL行: enter image description hereiOS:ShareKit >> Twitter設置>>回叫網址---它是什麼?

我已經開了一個Twitter應用Twitter並填寫了所有字段,但我不清楚在回撥URL字段中應插入哪些數據: enter image description here

任何人都可以解釋嗎?

回答

9

你在Twitter上的應用程序設置寫回調參數被忽略,你可以寫任何東西,例如:http://www.google.com(隨便什麼都行,因爲它被忽略)。

當您在的#define添加一個回調URL,它的價值將被送到所有者授權步驟到Twitter,並會覆蓋您以前在Twitter的網站上寫道:值。奇怪,我知道。這與this security vulnerability有關。

回調參數是Twitter正打算驗證後發送用戶的URL。在網站中運行而不是應用程序時,URL回調用於恢復OAuth流程的控制。

上的應用程序,你可以將其設置爲像所有MyApplication自定義方案://微博,然後註冊在你的應用方案爲MyApplication。通過這種方式,在認證之後,在UIWebView或Safari中運行的Twitter網站將啓動該URL,iOS知道該URL將分配給您的應用程序,這就是您恢復對OAuth流程的控制的方式。

這就是理論,我不確切知道ShareKit是如何工作的。它可能是它在UIWebView上運行身份驗證,並檢測用戶手動恢復控制的活動,這是執行此操作的另一種方式。

1

我使用ShareKit的新版本和源有大約回調嘰嘰喳喳此評論:

回調URL」應該匹配無論你在 SHKTwitterCallbackUrl進入。回調網址不一定是實際的 現有網址。用戶將永遠不會得到它,因爲ShareKit 在用戶重定向之前攔截它。它只需要匹配。

我在twitter設置回調網址中設置爲http://somecallbackurl.com,在源代碼中設置相同,它的作用就像一個魅力! :]。希望這個幫助。

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 }