Пытаясь получить более 20 последователей, чтобы показать, как я могу это сделать, чтобы дать мне больше? [Дубликат]

Это деструктурирующий синтаксис присваивания.

В качестве другого примера следующие две строки кода равны:

const { items } = args

const items = args.items

Проще говоря, это упрощенный способ доступа к конкретным поле данной переменной для дальнейшего использования в этой области.

В вашем исходном примере она объявляет переменную items для использования в теле функции, которая является полем items этого первого аргумента.

const SortableList = SortableContainer(({items}) => {
    // do stuff with items here

равно

const SortableList = SortableContainer((input) => {
    const items = input.items
    // do stuff with items here
1
задан Community 23 May 2017 в 12:06
поделиться

4 ответа

Просто измените это и попробуйте, это работает для меня

    try {
        Log.i("act twitter...........", "ModifiedCustomTabBarActivity.class");
        // final JSONArray twitterFriendsIDsJsonArray = new JSONArray();
        IDs ids = mTwitter.mTwitter.getFriendsIDs(-1);// ids
        // for (long id : ids.getIDs()) {
        do {
            for (long id : ids.getIDs()) {               


                String ID = "followers ID #" + id;
                String[] firstname = ID.split("#");
                String first_Name = firstname[0];
                String Id = firstname[1];

                Log.i("split...........", first_Name + Id);

                String Name = mTwitter.mTwitter.showUser(id).getName();
                String screenname = mTwitter.mTwitter.showUser(id).getScreenName();


  //            Log.i("id.......", "followers ID #" + id);
    //          Log.i("Name..", mTwitter.mTwitter.showUser(id).getName());
    //          Log.i("Screen_Name...", mTwitter.mTwitter.showUser(id).getScreenName());
    //          Log.i("image...", mTwitter.mTwitter.showUser(id).getProfileImageURL());


            }
        } while (ids.hasNext());

    } catch (Exception e) {
        e.printStackTrace();
    }
4
ответ дан NagarjunaReddy 17 August 2018 в 23:39
поделиться
  • 1
    Спасибо tonn NagarjunaReddy, но я действительно хочу иметь больше деталей, как не только Имя, но и полное имя пользователя, изображение профиля тоже, можем ли мы получить это тоже? – Kailas 14 February 2014 в 08:18
  • 2
    см. отредактированный код ..... – NagarjunaReddy 14 February 2014 в 08:25

Попробуйте это ...

 ConfigurationBuilder confbuilder = new ConfigurationBuilder();
    confbuilder.setOAuthAccessToken(accessToken)
            .setOAuthAccessTokenSecret(secretToken)
            .setOAuthConsumerKey(TwitterOAuthActivity.CONSUMER_KEY)
            .setOAuthConsumerSecret(TwitterOAuthActivity.CONSUMER_SECRET);
    Twitter twitter = new TwitterFactory(confbuilder.build()).getInstance();

    PagableResponseList<User> followersList;

    ArrayList<String> list = new ArrayList<String>();
    try
    {
        followersList = twitter.getFollowersList(screenName, cursor);

        for (int i = 0; i < followersList.size(); i++)
        {
            User user = followersList.get(i);
            String name = user.getName();
            list.add(name);
            System.out.println("Name" + i + ":" + name);
        }

        listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1 , list));
        listView.setVisibility(View.VISIBLE);
        friend_list.setVisibility(View.INVISIBLE);
        post_feeds.setVisibility(View.INVISIBLE);
        twit.setVisibility(View.INVISIBLE);
    }
2
ответ дан Brandon Minnick 17 August 2018 в 23:39
поделиться

Вы должны обязательно использовать getFollowersIDs. Как сказано в документации, это возвращает массив (список) объектов IDs. Обратите внимание, что это приводит к тому, что список разбивается на страницы примерно 5000 идентификаторов за раз. Чтобы начать пейджинг, введите в качестве курсора значение -1. Ответ от API будет включать в себя предыдущий_курсор и next_cursor, чтобы разрешить пейджинг взад и вперед.

Трудная часть - обработать курсор. Если вы можете это сделать, тогда у вас не будет проблемы с получением всего 20 последователей.

Первому вызову getFollowersIDs должен быть задан курсор -1. Для последующих вызовов вам нужно обновить значение курсора, получив следующий курсор, как это сделано во время части цикла.

        long cursor =-1L;
        IDs ids;
        do {
            ids = twitter.getFollowersIDs(cursor);
            for(long userID : ids.getIDs()){
                friendList.add(userID);
            }
        } while((cursor = ids.getNextCursor())!=0 );

Вот очень хорошая ссылка: https: //github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/friendsandfollowers/GetFriendsIDs.java

Теперь, если пользователь имеет более чем около 75000 последователей, вам придется немного подождать (см. ответ Вишала). Первые 15 вызовов дадут вам около 75000 идентификаторов. Затем вам придется спать 15 минут. Затем сделайте еще 15 звонков и так далее, пока не получите всех последователей. Это можно сделать, используя простой Thread.sleep(time_in_milliseconds) вне цикла for.

6
ответ дан harishankarv 17 August 2018 в 23:39
поделиться

Это сложно. Вы должны указать, используете ли вы приложение или токены пользователя и количество пользователей, которых вы извлекаете для followers_ids.

В случае токена приложения вы получаете всего 15 вызовов за 15 минут. Вы можете получить максимум 5000 подписчиков за звонок. Это дает вам максимум 75 тыс. Последователей в течение 15 минут. Если у кого-то из пользователей, которых вы выберете followers_ids for, есть более 75 тыс. Последователей, вы сразу получите ошибку rate_limit. Если вы загружаете более одного пользователя, вам нужно будет создать сильную обработку rate_limit в своем коде со сном и быть очень терпеливым.

То же самое относится к friends_ids.

Мне не приходилось иметь дело с получением более 75 тыс. Последователей / друзей для данного пользователя, но подумайте об этом, я не знаю, возможно ли это еще больше.

1
ответ дан Vishal 17 August 2018 в 23:39
поделиться
  • 1
    Спасибо Vishal, Моя цель получить его список подписчиков пользователя twitter и отобразить список в виде списка, в котором есть профиль пользователя пользователя и имя экрана. выборка followers_id возвращает объект ID , а не объект user . Также ожидается, что getFollowersList (mTwitter.getId (), -1) вернет весь список пользователей, но по умолчанию 20 последователей. как в api.twitter.com/1.1/followers/… , но метод getFollowersList (mTwitter.getId (), -1) предоставляет только курсор в качестве аргумента и пропускает аргумент count – Kailas 6 February 2014 в 08:03
  • 2
Другие вопросы по тегам:

Похожие вопросы: