С# tweetinvi код 408

я пытаюсь научиться подключать С# к Twitter с помощью tweetinvi.

у меня нет проблем с подключением к Twitter Key и Twitter Token

затем я отлаживаю свой код, заметил значение null на User.GetAuthenticatedUser()

однако я уже авторизовал приложения Twitter с помощью своей учетной записи Twitter.

Почему User.GetAuthenticatedUser() возвращает Null значение?

я получил следующую картину при попытке передать ошибку в Message Box введите здесь описание изображения

как мне решить это?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tweetinvi;


namespace Twitdesk
{
    public partial class Form1 : Form
    {
        Cl_Tweetinvi twitinvi;
        Command cmd = new Command();

        public Form1()
        {
            InitializeComponent();
            twitinvi = new Cl_Tweetinvi();
            var AuthenticatedUser = User.GetAuthenticatedUser();
            if(AuthenticatedUser == null)
            {
                var latestException = ExceptionHandler.GetLastException();
                MessageBox.Show(latestException.ToString());
                Application.Exit();
            }
            else
            {
                var settings = AuthenticatedUser.GetAccountSettings();
            }

            var tweets = Timeline.GetHomeTimeline();            
            this.Text = cmd.title;
            MessageBox.Show("done");
        }
    }
}

введите здесь описание изображения


person Cignitor    schedule 22.04.2016    source источник


Ответы (1)


Проблема связана с тем, что вы не инициализировали свои учетные данные.

Вам нужно позвонить Auth.SetUserCredentials("CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET"); перед выполнением любой операции.

Когда вы вызываете эту строку, любая операция будет использовать эти учетные данные.

Пожалуйста, просмотрите вики для получения дополнительной информации. Или дайте мне знать, если вы все еще сталкиваетесь с какой-либо проблемой.

Хотя проблема может быть другой, поскольку сообщение об ошибке указывает на то, что у вас проблема с тайм-аутом. Обычно проблемы с аутентификацией возвращают исключение 401.

person Linvi    schedule 22.04.2016
comment
привет, я сделал некоторые обновления, и ваш код уже был написан. мне было интересно, почему AuthenticatedUser стал null - person Cignitor; 23.04.2016
comment
нет, я не знаю, почему AuthenticatedUser возвращает Null, потому что есть моя собственная учетная запись Twitter, использующая мои приложения Twitter. - person Cignitor; 23.04.2016
comment
AuthenticatedUser возвращает значение null, поскольку Twitter возвращает исключение. Поведение Tweetinvi по умолчанию — возвращать значение null в случае сбоя запроса. - person Linvi; 23.04.2016
comment
Я собираюсь продолжить расследование того, что может вызвать исключение Timeout из Twitter. Ваше интернет-соединение стабильно? - person Linvi; 23.04.2016
comment
У вас есть повышенные привилегии, необходимые для включения электронной почты? (include_email=true). - person Linvi; 23.04.2016
comment
Я обнаружил, что проблема возникает из-за того, что вы не можете вовремя получить ответ от Twitter. Но чего я не понимаю, так это того, что ваш тайм-аут установлен на 10 секунд, что должно быть более чем достаточно для выполнения такого запроса. Пожалуйста, дайте мне знать, если у вас могут возникнуть проблемы с подключением к Интернету. Нужен ли вам прокси, vpn... - person Linvi; 23.04.2016
comment
да, мое интернет-соединение было стабильным. и до сих пор я не знаю, что-то не так с моим кодом или с моим твиттер-приложением. я не установил свой таймаут на 10 секунд. я должен изменить значение сейчас? - person Cignitor; 24.04.2016
comment
Я не думаю, что вы должны изменить настройки по умолчанию. Не могли бы вы попробовать зайти на apigee.com/console/twitter и посмотреть, правильно ли это работает для вас? . - person Linvi; 25.04.2016
comment
Я буду рад помочь вам решить вашу проблему, но я думаю, что нам придется провести живую сессию, на которой я смогу увидеть ваше приложение, работающее вживую. Если вас это устраивает, отправьте сообщение на gitter.im/linvi/tweetinvi, и я отвечу вам лично. - person Linvi; 25.04.2016