2012-12-05 19 views
6

के साथ यूट्यूब पर वीडियो अपलोड करते समय मैं अपने जावा वेब एप्लिकेशन से यूट्यूब पर वीडियो अपलोड करना चाहता हूं: मैं एक वीडियो अपलोड करने के लिए अपने लेखक और फॉर्म-एक्शन प्राप्त करना चाहता हूं।NoLinkedYoutubeAccount त्रुटि 401 जब जावा

  • मैं एक नया गूगल बना लिया है/YouTube खाते
  • मैं अपने खाते में एक YouTube चैनल बना लेने
  • मैं एक सेवा खाता के रूप में मेरे गूगल कंसोल एपीआई में एक नई परियोजना बना लिया है

अब मैं ओएथ 2.0 के साथ अपना कोड लागू करने की कोशिश कर रहा हूं। मुझे एक्सेस टोकन मिल गया है, लेकिन जब मैं सेवा को कॉल करने का प्रयास करता हूं तो FormUploadToken (url, ऑब्जेक्ट) प्रतिक्रिया हमेशा एक ही होती है "NoLinkedYoutubeAccount त्रुटि 401"।

मैंने Google समर्थन पृष्ठ http://www.youtube.com/my_account_unlink द्वारा खाता भी सत्यापित किया है लेकिन यह ठीक लगता है।

क्या किसी को इस समस्या के बारे में कोई जानकारी है?

यह मेरा कोड है:

HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); 
    JsonFactory JSON_FACTORY = new JacksonFactory(); 
    String accessToken = ""; 
    GoogleCredential credential = null; 


    credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT) 
      .setJsonFactory(JSON_FACTORY) 
      .setServiceAccountId(CLIENT_EMAIL) 
      .setServiceAccountScopes("http://gdata.youtube.com") 
      .setServiceAccountPrivateKeyFromP12File(new File(PRIVATE_KEY_PATH)) 
      .build(); 
    credential.refreshToken(); 
    accessToken = credential.getAccessToken(); 


    YouTubeService service = new YouTubeService(CLIENT_ID, DEV_KEY); 
    service.setAuthSubToken(accessToken, null); 
    VideoEntry newEntry = new YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup(); 
    mg.setTitle(new MediaTitle()); 
    mg.getTitle().setPlainTextContent("My Test Movie"); 

    URL uploadUrl = new URL("http://gdata.youtube.com/action/GetUploadToken"); 
    FormUploadToken token = service.getFormUploadToken(uploadUrl, newEntry); 

धन्यवाद एक बहुत, अल्बर्ट तृतीय

उत्तर

3

आप एक सेवा खाता के साथ एक यूट्यूब चैनल संबद्ध नहीं कर सकते हैं, और आप संदर्भ के तहत अपलोड करने के लिए कोशिश कर रहे हैं सेवा खाते का।

सेवा खातों का उपयोग करने के बजाय, आपको OAuth 2 प्रवाह से गुज़रना चाहिए और उस खाते का उपयोग करके ब्राउजर में लॉग इन करते समय एक्सेस अधिकृत करना चाहिए, जिसे आप वास्तव में अपलोड करना चाहते हैं।

मैं सेवा खातों का उपयोग करने के लाभों को समझता हूं, लेकिन YouTube इस समय उनके साथ काम करने के लिए स्थापित नहीं है।

+0

हैलो जेफ, आपके उत्तर के लिए धन्यवाद! मैं चाहता हूं कि उपयोगकर्ता मेरे चैनल पर वीडियो अपलोड करने में सक्षम होने के लिए मेरी साइट पर लॉग इन करें। क्या यह संभव है? धन्यवाद फिर से अल्बर्ट III –

+0

कृपया http://apiblog.youtube.com/2012/02/video-uploads-from-your-sites-community.html देखें क्योंकि आप जो प्रस्ताव देते हैं वह एक अच्छा विचार नहीं है। –

2

यदि आपने यूट्यूब खाता बनाया है और यदि आपके Google खाते से जुड़ा हुआ है, तो सुनिश्चित करें कि आप अपने यूट्यूब में अपना स्वयं का चैनल बनाते हैं।

यह एपीआई को आपके बनाए गए चैनल पर वीडियो अपलोड करने की अनुमति देगा।

उम्मीद है कि यह मदद करता है।

4

त्रुटि के रूप में, आपने खाता प्रमाण पत्र को YouTube से लिंक नहीं किया है।

आपको लगता है कि समस्या का समाधान कर सकते हैं: एक वीडियो अपलोड करने के लिए कोशिश कर रहा है - - - www.youtube.com में एप्लिकेशन पर इस्तेमाल खाते के साथ कनेक्ट स्थापना नाम और उपनाम जब यूट्यूब से पूछते हैं, और इस प्रक्रिया जीमेल से जोड़ने के लिए।

हो गया !!! मैंने फ़ायरफ़ॉक्स का उपयोग करके वीडियो अपलोड करने के लिए अपने ऐप का उपयोग करने से पहले कोशिश की।