3

わかりました...だからここに私のコードがあります:

twitterEngine = [[MGTwitterEngine alloc] initWithDelegate:self];    
    [twitterEngine setConsumerKey:CONSUMER_KEY secret:CONSUMER_SECRET];
    accessToken = [twitterEngine getXAuthAccessTokenForUsername:profile.twitterUserId password:profile.twitterPassword];
    NSLog(@"Access token: %@", accessToken);

コンソールは、アクセストークンが正常に返されたことを示しています(したがって、機能しているようです)。アクセストークン: C8A24515-0F11-4B5A-8813-XXXXXXXXXXXXXX

しかし、デリゲートで次に呼び出される accessTokenReceived メソッドの代わりに、401 で requestFailed を呼び出します。どうすれば、401 を無許可で取得し、メソッド呼び出しからアクセス トークンを取得できますか?????

4

2 に答える 2

2

ログインとパスワードをアクセス トークンに交換するプロセスである xAuth は、Twitter の基準を検証可能に満たしているアプリケーションの特権です。デスクトップまたはモバイル アプリケーションでは、3 つの OAuth フロー全体を提供することはできません。アウトオブバンド OAuth およびカスタム URI スキームは、依然として xAuth よりも優先されます。

他の OAuth 実装を使い果たし、xAuth を使用したい場合は、アプリケーションを所有するアカウントに直接関連付けられた電子メール アドレスから api@twitter.com を通じて Twitter に連絡できます。アプリケーション、そのユーザー ベース、動作中のスクリーンショットへのリンク、およびこの形式の承認がアプリケーションに適している理由の詳細な説明を含めます。xAuth の問い合わせはケースバイケースで検討され、すべての申請者に許可されるわけではありません。

xAuth の実装者は、アプリケーション内にログインとパスワードを保存してはなりません。これは、基本認証の簡単な置き換えでも、OAuth 認証の実装を回避する方法でもありません。

于 2010-07-16T17:53:33.360 に答える
0

問題が見つかりました... この問題を抱えている他の人のために... アプリを OAuth で承認することは、プロセスの一部にすぎません。これで作業は完了したように見えますが、Twitter ページでキーとシークレットが提供されます。次のステップを見つけるのは簡単ではありません。api@twitter.com にメールを送信して、実際に有効にするよう依頼する必要があります。

それを理解するのは楽しかったです。:)

于 2010-05-22T01:14:08.473 に答える