[英]Twitter API using Firebase: How do I get the twitter accessToken to post on user's behalf?? I already logged in successfully
[英]Twitter Android-FirebaseUI auth: How to post on user's behalf once I have the access Token and the access secret on Android App??are those enough?
我成功登錄,並使用firebase-ui-auth [ https://github.com/firebase/FirebaseUI-Android/blob/master/auth/README.md][1]獲得了twitter訪問令牌和twitter訪問密碼:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN && resultCode == RESULT_OK) {
IdpResponse response = IdpResponse.fromResultIntent(data);
//twitter access token
response.getIdpToken();
//twitter access token secret
response.getIdpSecret();
}
}
我想使用將保存在共享首選項上的這兩個令牌代表用戶發布(到他們的帳戶,而不是我的帳戶)。
1)這兩個令牌足以發布到用戶的帳戶嗎? 2)如何使用這兩個令牌發布內容? 我似乎找不到適合我的特殊情況的文檔,Android的twitter api處理真的很差。
我已經通過使用fabric及其TweetComposer類解決了它自己.....
首先,您需要在應用程序的引導類上初始化結構
Fabric.with(this, new Twitter(authConfig));
然后在要發送鳴叫的類上,獲取firebase實例以獲取登錄用戶,然后設置登錄到firebase UI https://github.com/firebase時獲得的twitter使用者密鑰和秘密/FirebaseUI-Android/blob/master/auth/README.md ,以供將來參考以獲取代表用戶進行鳴叫所需的兩個令牌,您可以像鏈接中指定的那樣進行操作:
要檢索IDP返回的ID令牌,可以從結果Intent中提取IdpResponse。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
IdpResponse idpResponse = IdpResponse.fromResultIntent(data);
startActivity(new Intent(this, WelcomeBackActivity.class)
.putExtra("my_token", idpResponse.getIdpToken()));
}
}
Twitter also returns an AuthToken Secret which can be accessed with idpResponse.getIdpSecret().
現在您擁有了所需的一切:
mAuth = FirebaseAuth.getInstance();
if (mAuth.getCurrentUser() != null) {
// already signed in
twitter_consumer_key= preferences.getString("TWITTER_CONSUMER_KEY","");
twitter_consumer_secret= preferences.getString("TWITTER_CONSUMER_SECRET","");
TwitterAuthConfig authConfig = new TwitterAuthConfig(twitter_consumer_key, twitter_consumer_secret);
//setting up fabric
Fabric.with(this, new TwitterCore(authConfig), new TweetComposer());
}
and then let's say I want to tweet from a custom button onClick:
ImageButton tweetButton= (ImageButton) findViewById(R.id.tweet_button);
tweetButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TweetComposer.Builder builder = new TweetComposer.Builder(mContext)
.text("just setting up my Fabric.");
builder.show();
}
});
該應用程序將通過預設消息“僅設置我的Fabric”將您重定向到Twitter應用程序。 您也可以添加圖片和視頻!
希望這對以后的人有所幫助,因為關於面料的信息很少。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.