2011-08-24 75 views
2

我正在创建一个android应用程序,我必须在twitter上使用twitter4j库上传图片。Twitter的回调网址

我无法在应用程序的twitter上指定回调URL。

请帮帮我。

回答

1

您应该使用意图过滤器,在叽叽喳喳的情况下获得的回调为

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 
} 

注意到这里重要的是

- >首先你通过调用Web API

索要请求记号 - >这一请求令牌可以用来授权用户

- >授权之后,你浏览器加载某个可以启动您的活动的Url,因为您已添加意图 - 使用相应的主机名和方案名称过滤您的活动(即主机=“OAuth的”,计划=“com.example.twitter”)

- >您可以从加载地址让你访问令牌即从中提取验证和使用您的请求令牌

查看详细代码,请访问https://bitbucket.org/hintdesk/android-how-to-tweet-in-twitter-within-android-client/src/f8923a4a641313cae7243da51530b472730c2439?at=default