我正在创建一个Android应用程序,我必须使用twitter4j库集成twitter以上传图片。
我无法在Twitter上为应用程序指定回调Url。
请帮帮我。
答案 0 :(得分:1)
你应该使用意图过滤器来获取Twitter的回调
requestToken = twitterFactory.getInstance()
.getOAuthRequestToken("oauth://com.example.twitter"); //note that "oauth" is your scheme name, "com.example.twitter" is your host name on your intent-filter
要在授权后进行回调的活动,请添加以下意图过滤器
<activity android:name=".TwitterActivity"
android:label="@string/app_name">
<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="oauth" android:host="com.example.twitter" />
</intent-filter>
</activity>
在你的活动中你想要回调(在这种情况下是TwitterActivity)让你的验证者
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith("oauth://com.example.twitter")) {
String verifier = uri.getQueryParameter("oauth_verifier");
// request for access token using requestToken and verifier which are used to login second time
}
需要注意的重要事项是
- &GT;首先,您通过调用web api
请求请求令牌- &GT;该请求令牌可用于授权您的用户
- &GT;授权后,您浏览器会加载某些可以启动您的活动的Url,因为您已使用相应的主机名和方案名称为您的活动添加了intent-filter(即host =&#34; oauth&#34;,scheme =&#34; com。 example.twitter&#34;)
- &GT;您可以从加载的Url访问令牌,即从中提取验证者并使用您的请求令牌