【问题标题】:TweetInvi Tweets to string or JsonTweetInvi 推文到字符串或 Json
【发布时间】:2016-12-04 08:34:05
【问题描述】:

在 c# 方面我当然不是很有经验,但需要奇数时间 SSIS,我正在尝试使用 TweetInvi 提取时间线,然后将该时间线数据插入到要处理的数据库中的字符串文件中.但我正在苦苦挣扎...请帮助或指出帮助的方向。

这就是我所拥有的

private void button1_Click(object sender, EventArgs e)
    {
        Auth.SetApplicationOnlyCredentials("XxxxxxxxXXXxxxXXX", "XXxxxXXX");

        MessageBox.Show("started");

        var usertimelinetweets = Timeline.GetUserTimeline("Testr",1);



        this.Close();

显然在最基本的一点,但我在这里只是在黑暗中。

【问题讨论】:

  • 我提供的解决方案成功了吗?
  • 它比以前好,但我现在在var json = JsonConvert.SerializeObject(tweets.Select(x => x.TweetDTO)); 线上遇到错误,说它不能为空,我认为这是由于授权而不是编码
  • 这意味着tweetsTweetDTO 为空。如果您的身份验证确实存在问题,则可能会发生第一种情况。你必须检查你是否有效地从Timeline.GetHomeTimeline取回数据
  • 酷,我去看看。
  • 当我查看 tweets 变量为 null 时,因此如果我的身份验证肯定有问题,但是在 Auth.SetApplicationOnlyCredentials("xxxxXXXxxx", "xxxXXXxxx"); 中,我输入了正确的消费者密钥和秘密,所以我有点很困惑,我可能会尝试创建一些新的密钥,看看会发生什么。

标签: c# json twitter ssis


【解决方案1】:

您要实现的目标实际上非常简单。 Tweetinvi 会自动与 Newtonsoft.Json.NET 一起安装。

您可以使用 Tweetinvi 1.0 支持序列化,如下所示:

var tweets = Timeline.GetHomeTimeline();

// Store 1 array
var json = JsonConvert.SerializeObject(tweets.Select(x => x.TweetDTO));

// Or iterate
foreach (var tweet in tweets)
{
    var tweetjson = JsonConvert.SerializeObject(tweet.TweetDTO);
}

您可以在文档中了解更多信息:https://github.com/linvi/tweetinvi/wiki/Serialization-and-Deserialization

请注意,由于某种原因 Timeline.GetUserTimeline 需要用户身份验证,如文档中所述:https://dev.twitter.com/rest/reference/get/statuses/user_timeline

要做到这一点,请使用 Auth.SetUserCredentials 而不是 Auth.SetApplicationOnlyCredentials

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2020-12-09
    • 2021-08-03
    • 2018-04-30
    • 2014-09-08
    • 2014-11-16
    相关资源
    最近更新 更多