2012-03-19 18 views
7

का उपयोग करके मैं अपने ऐप से यूट्यूब में वीडियो अपलोड करना चाहता हूं। मैं इस उद्देश्य के लिए यूट्यूबटेस्ट उदाहरण का उपयोग कर रहा हूं। मैंने अपने ऐप के लिए डेवलपर कुंजी और क्लाइंट आईडी सेट की है। अब जब वीडियो उदाहरण स्रोत कोड का उपयोग कर अपलोड करने की कोशिश, यह एक त्रुटि है जो दिखाता है:आईफोन यूट्यूब ऐप में वीडियो अपलोड करें जीडीटा फ्रेमवर्क

2012-03-19 10:51:07.947 YouTubeTest[539:f803] serviceBase: objectFetcher: failedWithStatus:400 data: 2012-03-19 10:51:07.985 YouTubeTest[539:f803] Error: Error Domain=com.google.GDataServiceDomain Code=400 "The operation couldn’t be completed. (com.google.GDataServiceDomain error 400.)" UserInfo=0x6c49e50 {}

किसी को भी सफलतापूर्वक iphone app से यूट्यूब पर वीडियो अपलोड करने GData लागू किया गया है। क्या कोई मुझे उदाहरण स्रोत कोड दे सकता है।

+0

क्लाइंट-आईडी कैसे प्राप्त करें कृपया मुझे इसके लिए लिंक दें। –

+0

@ मोहित गुप्ता क्लाइंट आईडी आपके ऐप का नाम होगा जिसके द्वारा आप अपना आवेदन पंजीकृत कर रहे हैं और अपनी डेवलपर कुंजी प्राप्त कर रहे हैं। – coder1010

+0

मदद के लिए धन्यवाद .. –

उत्तर

3

हां लोगों ने सफलतापूर्वक इसे कार्यान्वित किया है ... हम इस लिंक को आजमाएं http://urinieto.com/category/google/ लाइन द्वारा निर्देश पंक्ति का पालन करें।

सुनिश्चित नहीं है कि आपको यह त्रुटि मिल रही है। यदि समस्या अभी भी बनी रहती है तो उपरोक्त निर्देशों का पालन करें, मैं आपकी मदद करूंगा।

चीयर्स

+0

हां मैंने ट्यूटोरियल में बताए गए प्रत्येक चरण का पालन किया है। फिर भी त्रुटि बनी रहती है। मुझे कोई विचार नहीं मिला कि मैं गलत हूं। यहां तक ​​कि मैंने HOSTED_OR_GOOGLE से खाता प्रकार को GOOGLE में बदलने का प्रयास किया लेकिन फिर भी विफल रहा। पता नहीं क्या करना है। – coder1010

+0

त्रुटि कोड 400 एक बुरा अनुरोध है "अमान्य अनुरोध यूआरआई या हेडर, या असमर्थित गैर मानक पैरामीटर।" जिसका मूल अर्थ है कि आपने अपना अनुरोध गलत तरीके से गलत कर दिया है। http://code.google.com/apis/gdata/docs/2.0/reference.html #HTTPStatusCodes सभी त्रुटि कोडों को समझाने के लिए लिंक करें। – Tornado

+0

अरे क्या आप अपने खाते में YOUTUBE नमूना कोड का उपयोग करके अपना वीडियो अपलोड करने में सक्षम हैं ..? – Tornado

2

मैं YouTubeTest ऐप्स में वही मुद्दा हो रहा है। अनुरोध के लिए कोड यहां दिया गया है:

(IBAction)uploadPressed:(id)sender { 

    NSString *devKey = [mDeveloperKeyField text]; 

    GDataServiceGoogleYouTube *service = [self youTubeService]; 
    [service setYouTubeDeveloperKey:devKey]; 

    NSString *username = [mUsernameField text]; 
    NSString *clientID = [mClientIDField text]; 

    NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:username 
                  clientID:clientID]; 

    // load the file data 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"YouTubeTest" ofType:@"m4v"]; 
    NSData *data = [NSData dataWithContentsOfFile:path]; 
    NSString *filename = [path lastPathComponent]; 

    // gather all the metadata needed for the mediaGroup 
    NSString *titleStr = [mTitleField text]; 
    GDataMediaTitle *title = [GDataMediaTitle textConstructWithString:titleStr]; 

    NSString *categoryStr = [mCategoryField text]; 
    GDataMediaCategory *category = [GDataMediaCategory mediaCategoryWithString:categoryStr]; 
    [category setScheme:kGDataSchemeYouTubeCategory]; 

    NSString *descStr = [mDescriptionField text]; 
    GDataMediaDescription *desc = [GDataMediaDescription textConstructWithString:descStr]; 

    NSString *keywordsStr = [mKeywordsField text]; 
    GDataMediaKeywords *keywords = [GDataMediaKeywords keywordsWithString:keywordsStr]; 

    BOOL isPrivate = mIsPrivate; 

    GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup]; 
    [mediaGroup setMediaTitle:title]; 
    [mediaGroup setMediaDescription:desc]; 
    [mediaGroup addMediaCategory:category]; 
    [mediaGroup setMediaKeywords:keywords]; 
    [mediaGroup setIsPrivate:isPrivate]; 

    NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:path 
               defaultMIMEType:@"video/mp4"]; 

    // create the upload entry with the mediaGroup and the file data 
    GDataEntryYouTubeUpload *entry; 
    entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup 
                  data:data 
                 MIMEType:mimeType 
                  slug:filename]; 

    SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:); 
    [service setServiceUploadProgressSelector:progressSel]; 

    GDataServiceTicket *ticket; 
    ticket = [service fetchEntryByInsertingEntry:entry 
             forFeedURL:url 
             delegate:self 
           didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)]; 

    [self setUploadTicket:ticket]; 

} 
1

मेरी समस्या हल हो गई। आपके मामले में त्रुटि जानकारी पर्याप्त नहीं है। लेकिन अगर आप सर्वर से HTTPURLResponse प्रिंट करते हैं, तो यह त्रुटि को स्थानांतरित करने में मदद करेगा। मेरे मामले में कीवर्ड की लंबाई बहुत लंबी थी।

+0

की सहायता करें क्या आप इस मुद्दे को हल करने के तरीके के बारे में और अधिक स्पष्ट हो सकते हैं? –

1

मुझे एक ही त्रुटि का सामना करना पड़ा। लेकिन मैं परीक्षण और त्रुटि के माध्यम से एक समाधान खोजने के लिए किया था :)

वास्तव में यूट्यूब के रूप में कहा गया है

enter image description here

आप अब client_id प्रदान करने की आवश्यकता नहीं है। कृपया इसे हटा दें।

लेकिन वास्तविक समस्या लॉगिन प्रमाण-पत्रों के साथ थी। जब मैं "[email protected]" के रूप में लॉगिन करता हूं तो एपीआई त्रुटि प्रतिक्रिया लौटा रहा था। जब मैंने डोमेन "xyz" डोमेन के बिना उपयोगकर्ता नाम प्रदान किया तो यह काम करना शुरू कर दिया।

आशा है कि इससे मदद मिलती है!

संबंधित मुद्दे