0

Windows サービスからユーザーに代わって投稿するアプリを作成しています。ユーザーは別の Web ベースのフローでアプリケーションを承認し、ユーザーのアクセス トークンとシークレットは後で使用するために保存されます。私はLinq-to-twitterを使ってtwitterとの会話を処理しています。

私は SingleUserAuthorizer (以下) を使用していますが、リクエストに署名するか、リクエストをユーザーに関連付けるのに問題があるようです。/account/verify_credentials.json?skip_status=true と同等のものを呼び出すたびに、401 - Could not authenticate you (32) エラーが発生します

キッカーは、それが機能していたことです。コードの変更なしで 100% の失敗率を実現しています。デバッグ中に、アクセス トークン/シークレットのさまざまな値を試し、クライアント資格情報とアクセス トークン/シークレットの両方を再生成しました。また、以前に既知のさまざまな適切なユーザー トークンを試したり、他の方法で新しいトークンを生成したりしました。

どんな方向性でも大歓迎です。(以下のスニペット)。

var auth = new SingleUserAuthorizer()
{
    Credentials = new SingleUserInMemoryCredentials()
    {
        ConsumerKey = _consumerKey,
        ConsumerSecret = _consumerSecret,
        TwitterAccessToken = twitterAccessToken,
        OAuthToken = twitterAccessToken, // added during debugging
        AccessToken = twitterAccessSecret, // added during debugging
        TwitterAccessTokenSecret = twitterAccessSecret,
        UserId = userId // added during debugging
    }
};

auth.Authorize(); // added during debugging

var context = new TwitterContext(auth);
context.Log = Console.Out;

var account = context.Account
    .Where(t => t.Type == AccountType.VerifyCredentials)
    .FirstOrDefault(t => t.SkipStatus == true);
4

1 に答える 1