【问题标题】:YouTube Objective-C HTTP POST Request CommentYouTube Objective-C HTTP POST 请求评论
【发布时间】:2012-11-17 21:59:28
【问题描述】:

我正在尝试通过我的应用向 YouTube 视频添加评论,但显然它不起作用。然后我去了 Api v2 网站,看到了这个:


POST /feeds/api/videos/VIDEO_ID/cmets HTTP/1.1
主持人:gdata.youtube.com
内容类型:application/atom+xml
内容长度:CONTENT_LENGTH
授权:承载ACCESS_TOKEN
GData-版本:2
X-GData-Key: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);

谢谢!

【问题讨论】:

  • 我希望这不是您的实际 YouTube API 密钥。
  • 它是,但你想用它做什么?它只是开发者密钥
  • 这似乎是保密的。 :)
  • 我可以看到的一个问题是您正在尝试使用 JSON 解析器解析 XML 响应。
  • YouTube 说我必须给他们 XML。自己回馈json。

标签: objective-c http post youtube request


【解决方案1】:

不确定您的问题是什么,但使用Google's Objective-C library 可能会更好。

【讨论】:

    猜你喜欢
    • 2017-02-11
    • 1970-01-01
    • 2022-01-02
    • 2012-03-08
    • 2015-07-10
    • 2016-01-25
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多