1

アプリ経由で YouTube 動画にコメントを追加しようとしていますが、明らかに機能しません。それから私はApi v2サイトに行き、これを見ました:


POST /feeds/api/videos/VIDEO_ID/comments HTTP/1.1
ホスト: gdata.youtube.com
Content-Type: application/atom+xml
Content-Length: CONTENT_LENGTH
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key:キー=DEVELOPER_KEY

しかし、それは私に何も返しませんし、コメントも投稿しません。では、投稿リクエストをどこに送信し、何を書き込む必要がありますか?

これまでの私のコードは次のとおりです。

SBJsonParser *parser = [[SBJsonParser alloc] init];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *requestString = [NSString stringWithFormat:@"<?xml version='1.0' encoding='UTF-8'?><entry xmlns='http://www.w3.org/2005/Atom'xmlns:yt='http://gdata.youtube.com/schemas/2007'><content>%@</content></entry>", [textField text]];

NSData *postData = [requestString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:[NSURL URLWithString:@"https://gdata.youtube.com/feeds/api/videos/FejWBVt7jtk/comments"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/atom+xml" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"Bearer %@", [defaults objectForKey:@"accessToken"]] forHTTPHeaderField:@"Authorization"];
[request setValue:@"key=DEVELOPER KEY" forHTTPHeaderField:@"X-GData-Key"];

[request setHTTPBody:postData];

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSDictionary *dict = [parser objectWithString:content];
NSLog(@"%@", dict);

ありがとうございました!

4

1 に答える 1

0

問題が何であるかは正確にはわかりませんが、 Google の Objective-C ライブラリを使用するとうまくいく可能性があります。

于 2012-11-17T22:19:16.760 に答える