【问题标题】:Callback Url for twitter推特的回调地址
【发布时间】:2015-03-01 22:34:31
【问题描述】:

我正在创建一个 android 应用程序,我必须在其中集成 twitter 以使用 twitter4j 库在其上上传图片。

我无法在 Twitter 上为应用程序指定回调 URL。

请帮帮我。

【问题讨论】:

    标签: android callback twitter4j


    【解决方案1】:

    在 twitter as 的情况下,您应该使用意图过滤器来获取回调

    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,因为您已将意图过滤器添加到您的活动中,并具有相应的主机名和方案名称(即 host = "oauth", scheme="com.example.twitter ")

    -> 你可以让你从加载的 Url 访问令牌,即从中提取验证器并使用你的请求令牌

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 2014-10-07
      • 2014-10-14
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      相关资源
      最近更新 更多