iOS:ShareKit>> Twitter设置>>回调网址---这是什么?

时间:2011-07-20 10:06:07

标签: ios url twitter callback sharekit

我正在尝试在我的应用中实施 ShareKit ;在 SHKConfig.h 文件中,在需要Twitter应用程序设置的部分中,有一行我应该设置回调网址enter image description here

我在Twitter上打开了一个Twitter应用程序并填写了所有字段,但我不清楚应该在Callback URL字段中插入哪些数据: enter image description here

任何人都可以解释一下吗?

3 个答案:

答案 0 :(得分:9)

您在Twitter中的应用程序设置中编写的回调参数将被忽略,您可以编写任何内容,例如:http://www.google.com(任何事情都可以,因为它被忽略)。

当您在#define中添加回调网址时,其值将在所有者授权步骤中发送到Twitter,并将覆盖您之前在Twitter网站中写入的值。很奇怪,我知道。它与this security vulnerability有关。

回调参数是Twitter将在身份验证后发送给用户的URL。在网站而不是应用程序中运行时,URL回调用于恢复对OAuth流的控制。

在应用程序上,您可以将其设置为自定义方案,例如myapplication:// twitter,然后在应用程序中注册方案myapplication。这样,在身份验证之后,在UIWebView或Safari中运行的Twitter网站将启动该iOS,iOS知道该URL已分配给您的应用程序,这就是您恢复OAuth流控制的方式。

这就是理论,我不确切知道ShareKit是如何工作的。可能是它在UIWebView上运行身份验证并检测用户的活动以手动恢复控制,这是另一种方法。

答案 1 :(得分:1)

我正在使用新版本的ShareKit,并且在源代码中有关于twitter的回调的评论:

  

回调网址'应与您输入的内容相匹配   SHKTwitterCallbackUrl。回调网址不一定是实际的   现有网址。用户永远不会得到它,因为ShareKit   在重定向用户之前拦截它。它只需要匹配。

我在Twitter设置回调网址设置为http://somecallbackurl.com,在源代码中设置相同,它就像一个魅力! :]。希望这有帮助。

答案 2 :(得分: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 }

相关问题