gpt4 book ai didi

android - Twitter 的回调 Url

转载 作者:行者123 更新时间:2023-11-29 02:11:22 25 4
gpt4 key购买 nike

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

我无法在 Twitter 上为申请指定回调 Url。

请帮帮我。

最佳答案

如果是 twitter,你应该使用 intent 过滤器来获取回调

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 中添加以下 Intent 过滤器

<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>

并且在您想要回调的 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 请求请求 token

-> 该请求 token 可用于授权您的用户

-> 授权后,您的浏览器加载某些可以启动您的 Activity 的 Url,因为您已将 intent-filter 添加到您的 Activity 中,并具有相应的主机名和方案名称(即 host = "oauth", scheme="com.example.twitter ")

-> 您可以从加载的 Url 中获取访问 token ,即从中提取验证器并使用您的请求 token

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

关于android - Twitter 的回调 Url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com