0

我目前正在使用 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>

我不确定这是否与 twitcurl 生成的无效 url 有关 multi ?可能与身份验证冲突的符号。

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

4

1 回答 1

1

以下帖子帮助我解决了同样的问题

哪些步骤将重现该问题?

将某些字符发送到 twitter API(任何字符必须是百分比编码,除了空格?)。

什么是预期的输出?你看到了什么呢?

我希望 twitter 的服务器能够接受我的 oauth 签名,但它却打了我的脸。

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

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

请在下面提供任何附加信息。

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

那是根据twitter 所说的我们必须这样做。我不知道(没有检查)oauth 规范是否应该这样做,但很明显它是如何与 twitter 一起工作的。

你写了 oauthlib.cpp 吗?

于 2012-07-05T10:33:32.220 回答