gpt4 book ai didi

iphone - 如何使用ASIHttpRequest创建请求,如下所示?

转载 作者:行者123 更新时间:2023-12-03 05:42:58 25 4
gpt4 key购买 nike

我在YouTube可恢复上传内容上很着迷:
https://developers.google.com/youtube/2.0/developers_guide_protocol_resumable_uploads#Sending_a_Resumable_Upload_API_Request

我无法使用ASIHttpRequest创建请求,如下所示。
如何使其运作?谢谢!任何帮助将不胜感激!

(1)

POST /resumable/feeds/api/users/default/uploads HTTP/1.1
Host: uploads.gdata.youtube.com
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=adf15ee97731bca89da876c...a8dc
Content-Length: 0
Slug: my_file.mp4

(2)
POST /resumable/feeds/api/users/default/uploads HTTP/1.1

Host: uploads.gdata.youtube.com

Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=adf15ee97731bca89da876c...a8dc
Content-Length: 1941255
Slug: my_file.mp4
Content-Type: application/atom+xml; charset=UTF-8

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:yt="http://gdata.youtube.com/schemas/2007">
<media:group>
<media:title type="plain">Bad Wedding Toast</media:title>
<media:description type="plain">
I gave a bad toast at my friend's wedding.
</media:description>
<media:category
scheme="http://gdata.youtube.com/schemas/2007/categories.cat">People
</media:category>
<media:keywords>toast, wedding</media:keywords>
</media:group>
</entry>

这是我的(2)代码,请求成功完成,没有错误,但是responseData为空。我不知道为什么!
    NSURL *uploadUrl = [NSURL URLWithString:[NSString stringWithFormat:@"http://uploads.gdata.youtube.com/resumable/feeds/api/users/default/uploads"]];
ASIFormDataRequest *theRequest = [ASIFormDataRequest requestWithURL:uploadUrl];

NSString *xmlStr = [NSString stringWithFormat:@"<?xml version=\"1.0\"?>\n"
@"<entry xmlns=\"http://www.w3.org/2005/Atom\"\n"
@"xmlns:media=\"http://search.yahoo.com/mrss/\"\n"
@"xmlns:yt=\"http://gdata.youtube.com/schemas/2007\">\n"
@"<media:group>\n"

//Title
@"<media:title type=\"plain\">%@</media:title>\n"
//Description
@"<media:description type=\"plain\">\n"
@"%@\n"
@"</media:description>\n"
//Category
@"<media:category\n"
@"scheme=\"http://gdata.youtube.com/schemas/2007/categories.cat\">Entertainment\n"
@"</media:category>\n"
//Keywords
@"<media:keywords>Camera,PowerCam</media:keywords>\n"

@"</media:group>\n"
@"</entry>\n", @"PowerCam.mov",@"description" ];


[theRequest setTimeOutSeconds:60];
[theRequest addRequestHeader:@"Authorization" value:[NSString stringWithFormat:@"Bearer %@",_oauth.accessToken]];
[theRequest addRequestHeader:@"GData-Version" value:@"2"];
[theRequest addRequestHeader:@"X-GData-Key" value:[NSString stringWithFormat:@"key=%@", YouTuDevkey]];
[theRequest addRequestHeader:@"Content-Length" value:[NSString stringWithFormat:@"%d",xmlStr.length]];
[theRequest addRequestHeader:@"Slug" value:@"PowerCam.mov"];
[theRequest addRequestHeader:@"Content-Type" value:@"application/atom+xml; charset=UTF-8"];

[theRequest appendPostData:[xmlStr dataUsingEncoding:NSUTF8StringEncoding]];
[theRequest setUploadProgressDelegate:self];
theRequest.delegate = self;
theRequest.tag = eWSKYouTubeSharerUploadingVideoMetadata;
self.requestTag = eWSKYouTubeSharerUploadingVideoMetadata;
self.request = theRequest;
[[ASIManager manager] addRequest:theRequest];
[[ASIManager manager] startQueue];

最佳答案

有关如何使用它的信息,请参见the ASIHTTPRequest how-to。大致来说,您将获得以下内容:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request addRequestHeader:@"X-GData-Key" value:@"adf15ee97731bca89da876c...a8dc9"];
// add the other special headers as well
NSString *xmlBody = // create the XML data in the body
[request appendPostData:[xmlBody dataUsingEncoding:NSUTF8StringEncoding]];
[request startSynchronous];

假设您要从后台线程执行同步请求。

关于iphone - 如何使用ASIHttpRequest创建请求,如下所示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com