【发布时间】:2017-12-30 03:17:07
【问题描述】:
在这方面需要大量帮助。基本上在我的应用程序中,我需要访问 twitter api,根据特定的搜索标签获取前 50 个帖子并显示它们。身份验证的议程自然而然地出现了。现在这给我带来了严重的麻烦。我的代码似乎无法正常工作,因为 - 身份验证数据错误 [215]。我已经使用 TweetSharp 包来构建我的代码。
我会在这里发布--
public class TweetHelper
public class TweetHelper
{
public static string _consumerKey = "whatever";
public static string _consumerSecret = "whatever";
public static string _accessToken = "whatever";
public static string _accessTokenSecret = "whatever";
public static List<TwitterStatus> GetTweetList1()
{
TwitterService twitterService = new TwitterService(_consumerKey, _consumerSecret);
int tweetcount = 1;
----> var tweets_search = twitterService.Search(new SearchOptions { Q = "#ClimateChange", Resulttype = TwitterSearchResultType.Popular, Count = 50 }); ----> twitterService.AuthenticateWith(_accessToken, _accessTokenSecret);
List<TwitterStatus> resultList = new List<TwitterStatus>(tweets_search.Statuses);
foreach (var tweet in tweets_search.Statuses)
{
try
{
tweet.User.ScreenName.ToString();
tweet.User.Name.ToString();
tweet.Text.ToString();
tweet.RetweetCount.ToString();
tweet.User.FavouritesCount.ToString();
tweet.User.ProfileImageUrl.ToString();
tweet.CreatedDate.ToString();
("https://twitter.com/intent/retweet?tweet_id=" + tweet.Id).ToString();
("https://twitter.com/intent/tweet?in_reply_to=" + tweet.Id).ToString();
("https://twitter.com/intent/favorite?tweet_id=" + tweet.Id).ToString();
tweetcount++;
}
catch (Exception exp)
{
throw exp;
}
}
return resultList;
}
}
我知道 1.0 API 版本已被 twitter 弃用。 2.0 还没有到来。所以它必须是1.1。如您所见,这两条是问题线,错误发生的地方。我究竟做错了什么?或者我错误地接近了 API 版本中的哪条信息?不可能所有这些密钥和令牌、秘密等都是错误的。在创建我的应用程序时,我正确地复制了它们。另一件事是,我正在从我的开发人员那里尝试这个。我本地机器上的环境;我对 Windows 主机文件进行了编辑,以使我的应用程序从该特定 IP 地址运行并表现得像一个明确的 url。我也使用了这个,在创建 twitter 应用程序的过程中填写网站、域等字段的详细信息。
我使用休息客户端邮递员和所有这些来交叉检查 api 请求的事情。是的,它确实返回 215 代码错误的身份验证数据。有人告诉我,这可能是因为我电脑上的时钟与互联网时间不同步。所以我也这样做只是为了确保。依然没有。我真的很郁闷。请在这个问题上帮助我。我发现很难过去。 提前致谢,
【问题讨论】:
-
您的代码格式不正确,因此很难确定,但您似乎在 进行 Search 调用之后调用了 AuthenticateWith。这是行不通的,如果你想作为给定用户搜索,你需要先调用 AuthenticateWith 。但是,如果您的消费者令牌正确,您正在进行的搜索调用应该仍然有效,只是您将只搜索没有关注者上下文的公共推文。你确定你的消费者密钥和秘密是正确的吗?前端/末端没有多余的空间?与 Twitter API 提供的内容相比,大小写没有变化?
-
您还在使用当前版本的 TweetSharp 吗?不再支持原始/官方 Nuget 包,并且存在已知错误(尽管没有此症状 AFAIK)。 TweetSharpAlternative 或 TweetMoaSharp 都应该是最新的。
-
嗨@Yort 非常感谢您的回复。是的,我的意图是搜索和显示公共推文[基于标签]。我仍然会移动那两条线并再次检查。此外,我会仔细检查我复制的那些密钥和秘密。我不知道 TweetSharp 有这个问题。是的,我确实使用 nuget 包管理器添加了它,所以我认为它只添加了最新的、最新的可能稳定版。你认为我应该和另外两个一起去吗?感觉好困。
-
是的,我肯定会使用其他软件包之一。主要的一个经常在 Twitter 现在使用的长整数 id 上中断。
-
嗨@Yort 是的;就像你说的那样互换了这两行。现在它给我的错误是 - JSON 整数 2778608971 对于 Int32 来说太大或太小。路径 'statuses[2].in_reply_to_user_id',第 1 行,位置 14552 在这一行 ----> 'var tweets_search = twitterService.Search(new SearchOptions { Q = "#RenewableEnergy", Resulttype = TwitterSearchResultType.Popular , 计数 = 30 });'这是你之前说的那个吗?
标签: .net rest twitter-oauth restful-authentication tweetsharp