Twitter REST/ストリーミング APIを使用しています。REST API にアクセスする場合は、NSMutableURLRequest
(アクセス トークンやクエリなどのパラメーターを含む) を作成します。次に、リクエストを と組み合わせて使用してNSURLSession
、データをロードします。変更可能なリクエスト オブジェクトを作成するライブラリを使用しています (リクエスト オブジェクトを使用しない場合、Twitter API では関連するユーザー データにアクセスできません)。
現在、ストリーミング API を介して Twitter のタイムラインを読み込もうとしています。私が抱えている問題の 1 つは、カスタムの変更可能な要求オブジェクトをオブジェクトで使用する方法がわからないことNSStream
です。私にできることは、host
URL リンクを設定することだけです。しかし、Twitter API がユーザー データにアクセスできるようにするには、ユーザーの OAuth データ (変更可能な要求オブジェクトに含まれています) を渡す必要があるため、これでは十分ではありません。
要求オブジェクトをストリームに添付するにはどうすればよいですか? これが私のコードです:
NSURL *website = [NSURL URLWithString:@"https://userstream.twitter.com/1.1/user.json"];
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)[website host], 80, &readStream, &writeStream);
NSInputStream *inputStream = (__bridge_transfer NSInputStream *)readStream;
NSOutputStream *outputStream = (__bridge_transfer NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];