从twitcurl timelineUserGet方法获取未授权错误

时间:2012-04-18 17:01:06

标签: c++ twitter twitter-oauth

我目前正在使用twitcurl在Linux和Twitter上玩C ++。我已经构建了twitcurl,它似乎普遍起作用,我已经能够从他们的项目的twitterClient示例的略微定制版本发推文。但是,我一直在努力阅读用户的时间表。

现在,我知道一般身份验证正在运行,因为我设法首先将推文作为正确的用户。

但是,当我尝试使用以下代码阅读用户时间表时:

/* Get user timeline */
replyMsg = "";
printf( "\nGetting user timeline\n" );
if( twitterObj.timelineUserGet( true, false, 5 ) )
{
    twitterObj.getLastWebResponse( replyMsg );
    printf( "\ntwitterClient:: twitCurl::timelineUserGet web response:\n%s\n", replyMsg.c_str() );
}
else
{
    twitterObj.getLastCurlError( replyMsg );
    printf( "\ntwitterClient:: twitCurl::timelineUserGet error:\n%s\n", replyMsg.c_str() );
}

我收到以下错误:

twitterClient:: twitCurl::timelineUserGet web response:
<?xml version="1.0" encoding="UTF-8"?><hash><request>/1/statuses/user_timeline.xml?     count=5?trim_user=1</request><error>Not authorized</error></hash>

我不确定这是否与无效的url twitcurl生成多个相关?可能与认证冲突的符号。

完整的源代码可以在https://github.com/paulspencerwilliams/CPlusPlusSocialPlayground/blob/master/twitterClient.cpp找到。

1 个答案:

答案 0 :(得分:1)

The following post helped me to solve the same problem

  

哪些步骤会重现此问题?

     

向twitter API发送某些字符(任何必须为百分比编码的字符,空格除外?)。

     

预期产量是多少?你怎么看?

     

我期待   twitter的服务器接受我的oauth签名,但它打击了我   相反。

     

您使用的是哪个版本的产品?在什么操作系统上?

     

r88,此问题适用于linux和wii(通过devkitpro)

     

请在下面提供任何其他信息。

     

可以通过删除oauth.cpp中buildOAuthRawDataKeyValPairs()中的urlencode()调用来解决此问题。

     

根据how twitter says we have to do it。我不知道(没有检查)这是否是oauth规范说它应该如何完成,但它显然是如何与twitter一起工作。

     

你写过oauthlib.cpp吗?