【问题标题】:tweetinvi, I can't retrieve messagestweetinvi,我无法检索消息
【发布时间】:2018-01-03 18:39:54
【问题描述】:

我想监控检索消息,以便机器人能够响应它们。

我可以使用 tweetinvi 发送 pm,但由于某种原因,我无法使用它来检索该帐户中的任何消息。 GetLastMessage 始终返回 null。

我尝试了以下方法:

在这个测试中,我有一个计时器,每 1 秒运行一次并对消息进行 pols。

private static void OnTwitterTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
    try
    {
        IEnumerable<IMessage> MSG  = controller.GetLatestMessagesReceived(); ; // Message.GetLatestMessagesReceived(100);

        if (MSG != null)
        {
            Console.WriteLine(MSG.ElementAt(0).SenderScreenName + MSG.ElementAt(0).Text);

            if ((MSG.ElementAt(0).SenderId == ####MYID#####) & (MSG.ElementAt(0).Text == "?"))
            {
                Message.PublishMessage(tweet, ####MYID#####);
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.WriteLine(MSG.ElementAt(0).SenderScreenName + MSG.ElementAt(0).Text);
                Console.ResetColor();
                Message.DestroyMessage(MSG.ElementAt(0));
            }
        }
    } catch
    {
        }

}

我也试过了

   private static void OnTwitterTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {

        try
        {
            var latestMessagesSent = Message.GetLatestMessagesSent();
            var latestMessagesSentParameter = new MessagesSentParameters();
            latestMessagesSentParameter.PageNumber = 239823;
            var latestMessagesSentFromParameter = Message.GetLatestMessagesSent(latestMessagesSentParameter);

            if (latestMessagesSentFromParameter != null)
            {
                Console.WriteLine("Messages Send : ");
                foreach (var mms in latestMessagesSentFromParameter)
                {
                    Console.WriteLine("- '{0}'", mms.Text);
                }

            }
        } catch
        {
        }

    }

我也尝试过使用

IAuthenticatedUser authenticatedUser = User.GetAuthenticatedUser(); authenticatedUser.GetLatestMessagesReceived();

我正在使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Timers;
using System.Threading.Tasks;
using System.Collections;
using System.Globalization;
//using System.Threading;
using System.IO;
using System.Net;
using System.Diagnostics;
using System.Net;
using System.Reflection;

// REST API
using Tweetinvi;
using Tweetinvi.Models;
using Tweetinvi.Parameters;

// STREAM API
using Tweetinvi.Streaming;
using Stream = Tweetinvi.Stream;

// Others
using Tweetinvi.Exceptions; // Handle Exceptions
using Tweetinvi.Core.Extensions; // Extension methods provided by Tweetinvi
using Tweetinvi.Models.DTO; // Data Transfer Objects for Serialization
using Tweetinvi.Json; // JSON static classes to get json from Twitter. 

【问题讨论】:

  • 该应用确实具有读、写和 DM 权限
  • 所以发现了问题。我不得不重新生成令牌,因为更改权限是在令牌中编码的。

标签: c# twitter tweetinvi


【解决方案1】:

您的应用必须具有在 twitter API 上读写的权限。

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2023-03-27
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2021-06-26
    相关资源
    最近更新 更多