невозможно публиковать твиты в твиттере с помощью Outh - PullRequest
0 голосов
/ 07 июля 2011

Я использую Outh, чтобы добавить Twitter в свое приложение, и я получил письмо от команды твиттеров.

Спасибо, что написали нам, и мы будем уважать конфиденциальность ваших изображений.Ваше приложение теперь может использовать xAuth, а наша документация доступна здесь: http://dev.twitter.com/pages/xauth.

Спасибо, политика API Twitter

Теперь я получаю вход в учетную запись Twitter с помощьюмое приложение, но я не могу опубликовать твиты.

По сути, я использую два разных представления, одно для процесса входа в систему и второе для публикации твитов.

Мои вопросы.

1.Если я использую только одно представление, твиты публикуются. Но согласно моему требованию мне нужно иметь сообщение из другого представления. Как я могу достичь?

Я использую этот метод для публикации.

         [_engine sendUpdate:str];

, пожалуйста, помогите мне здесь.

Ответы [ 3 ]

0 голосов
/ 08 июля 2011

Как я уже отвечал за ваш другой пост, вы используете тот же _engine объект в DetailViewController.Вы можете добиться этого следующим образом: объявить объект для того же SA_Twitter .... Engine некоторый класс.Вы просто назначаете этот _engine объект detailviewController при загрузке этого контроллера

. В необходимом месте SettingsViewController выполните следующие действия:

//This engine object should be declared @ .h of settings
    if ([SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:engine delegate:self]) {
                [self presentModalViewController:[SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:engine delegate:self] animated:YES];
            }

Объявите переменную для SA_OAuthTwitterEngine вdetailview

SA_OAuthTwitterEngine *_engine;

@property (nonatomic, retain) SA_OAuthTwitterEngine *_engine;

Наконец, когда вы переходите от settigs к detailview,

    DetailView  *detailObj=[[DetailView alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
    detailObj._engine=self.engine;
    [self presentModalViewController:detailObj animated:YES];
    [detailObj release];
0 голосов
/ 09 марта 2017

Если вы хотите опубликовать то, что вы ввели в текстовое поле, я могу помочь вам здесь. 1. Вы должны включить библиотеку twitter4j в файл Gradle следующим образом:

compile group: 'org.twitter4j', name: 'twitter4j-core', version: '4.0.1'

2. Включите следующий фрагмент кода в свой код:

public String sTweet;
EditText et_TweetText;
public static String consumerkey = "xxxxxxxxxxxxxxxxx";
public static String consumersecret = "xxxxxxxxxxxxxxxxx";
public static String accesstoken="xxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxx";
public static String accesstokensecret="xxxxxxxxxxxxxxxxx";

 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
et_TweetText = (EditText) view.findViewById(R.id.et_TweetText);

bt_tweetIt = (Button) view.findViewById(R.id.bt_tweetIt);
bt_tweetIt.setOnClickListener(this);
}
@Override
public void onClick(View v) {
sTweet = et_TweetText.getText().toString();
Log.i(TAGTweet, "onClick- sTweet: " + sTweet);

if(CheckConnectivity()!=0){
Log.i(TAGTweet, "Internet Connection ON: ");
new UseTweeter().execute();
}
else {
Log.i(TAGTweet, "Internet Connection OFF: ");
ShowNoInternetConnectionAlert();
 }
}
 public class UseTweeter extends AsyncTask<String,String,String>{
 @Override
 protected String doInBackground(String... params) {
 TweetThisMessage();
 return null;
  }
 }
public void TweetThisMessage(){
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthAccessToken(accesstoken);
builder.setOAuthAccessTokenSecret(accesstokensecret);
builder.setOAuthConsumerKey(consumerkey);
builder.setOAuthConsumerSecret(consumersecret);
OAuthAuthorization auth = new OAuthAuthorization(builder.build());
Twitter twitter = new TwitterFactory().getInstance(auth);
try {
Log.i(TAGTweet, "sTweet in TweetThisMessage(): " + sTweet);
twitter.updateStatus(sTweet);
} catch (TwitterException e) {
e.printStackTrace();
return;
 }
}

Надеюсь, это поможет.

0 голосов
/ 07 июля 2011

Я думаю, что это поможет вам:

Oauth-авторизация обратного вызова

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...