【问题标题】:Twitter call back url not working in androidTwitter回调网址在android中不起作用
【发布时间】:2018-06-22 21:33:26
【问题描述】:

现在我尝试使用 twitter4j 库在 android 中实现 Twitter 集成。几个月前,我使用虚拟回调 url 成功实现了这个,比如“PicPuzzle://tkxel ”。

但现在 Twitter 改变了它的方案,现在不允许使用虚拟 URL 创建应用程序。

现在的问题是认证后它重定向到callbackurl但没有返回到应用程序。

我在申请和注册页面中指定了相同的 url。我提到了Problem in Callback in Twitter in AndroidHow I can call back in Android using OAuth for Twitter?。但是这些解决方案现在不起作用,因为现在 twitter 不允许使用虚拟 URL 创建应用程序。请帮我解决这个问题。

【问题讨论】:

  • 可以查看回调url,然后关闭webview
  • 使用“x-oauthflow-twitter://callback”作为callbak url。
  • @DipakKeshariya 现在 twitter 不允许将回调 url 设置为 x-oauthflow-twitter://callback..
  • @Ajmal 但是这个回调 url 在我的应用程序中工作。
  • @Ajmal 请进聊天室。

标签: android callback twitter


【解决方案1】:

按照以下步骤:

  1. 转到 Twitter 应用程序:https://apps.twitter.com/

  2. 然后,转到您的应用。

  3. 进入设置标签

  4. 在“回调 URL”部分,添加以下行:

twittersdk://

  1. 点击底部的“更新设置”按钮。就是这样。

希望这行得通!

【讨论】:

  • 我试过你的解决方案它对我不起作用你能建议任何其他解决方案吗。
【解决方案2】:
  1. 创建您自己的 WebViewClient 子类。
  2. 覆盖 shouldOverrideUrlLoading(WebView view, String url) 方法。
  3. 在 shouldOverrideUrlLoading() 中,检查 url.startsWith(YOUR_CALLBACK_URL) 是否为真。
  4. 如果为 true,则从 URL 中检索“oauth_verifier”参数并返回 true(来自 shouldOverrideUrlLoading() 的 true 会阻止 WebView 实例加载 URL)。
  5. 使用步骤4中获取的参数值获取访问令牌。

您的应用程序可以在第 4 步之后从 WebView 实例取回控制权。

如果上述步骤听起来很麻烦,请尝试TwitterOAuthView。它的用法非常简单。只需拨打电话

view.start(CONSUMER_KEY, CONSUMER_SECRET, CALLBACK_URL, true, listener);

并通过如下定义的 TwitterOAuthView.Listener 接口接收结果。

void onSuccess(TwitterOAuthView view, AccessToken accessToken);
void onFailure(TwitterOAuthView view, TwitterOAuthView.Result result);

如果 TwitterOAuthView.start() 方法的第四个参数为 true,则 TwitterOAuthView 不会访问回调 URL,我认为这种行为是您想要实现的。源代码TwitterOAuthView.java 可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-11-09
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2014-01-24
    • 2013-07-09
    • 2014-03-24
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多