Twitter OAuth如何在Android中运行?

cod*_*der 15 twitter url android callback

我已经找了一段时间的答案了,我承认我很困惑.我试图在我的应用程序中实现Twitter,并发现它有点挑战.似乎这样做的方法是将我的应用程序注册到Twitter(我已经这样做)作为浏览器应用程序.我不知道如何使用我的回调网址.我真的想回到我在应用程序中的当前活动,而不是被重定向到回调网址.我该怎么办呢?我很困惑......

Cri*_*ian 28

这是它的工作原理...你打电话给twitter认证URL(通过打开网络浏览器).身份验证的URL必须包含回调URL.回调URL通常如下所示:x-your-application-name-oauth-twitter://callback(*).

第二步是为你添加一个intent过滤器Activity(实现twitter auth需要你知道Android是如何工作的(除非你找到一个为你做所有事情的教程,但我认为情况并非如此,你似乎是一个聪明人,不是你呢?)).无论如何,你可以通过在清单中添加类似的内容来实现:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="x-your-application-name-oauth-twitter" android:host="callback"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

这基本上是对Android操作系统说的一种方式:" 嘿老兄,我可以处理任何看起来像的URLx-your-application-name-oauth-twitter://callback ".这样,一旦用户通过身份验证,Twitter就会调用该URL,您的应用程序将回收控件.

通常,您的活动必须使用android:launchMode="singleTask"标记创建,然后您必须覆盖onNewIntent活动的方法,一旦您的应用程序再次拥有控件,将调用该方法.在里面Intent你会找到有关回调的信息.

(*)构建必须启动的URL(并且允许用户进行身份验证)在某种程度上是困难的.OAuth是一个很好但很难学习的标准.因此,您可以使用第三方库来帮助您解决此问题.例如,您可以使用Oauth Signpost java库.但是,我建议您坚持使用twitter4j库来帮助您使用OAuth,并允许您与Twitter API进行交互.