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に関連しているかどうかはわかりませんか?認証と競合する可能性のある記号。

完全なソース コードは、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() 呼び出しを削除することで修正できます。

それは、ツイッターが私たちがそれをしなければならないと言っている方法によるものです。それがoauth仕様で行われるべきであると述べられているかどうかはわかりませんが(確認しませんでした)、明らかにTwitterでの動作方法です。

oauthlib.cpp を書きましたか?

于 2012-07-05T10:33:32.220 に答える