6

Costruisco web e app per dispositivi mobili e sono sincronizzati. Quindi, dopo aver effettuato l'accesso e autorizzato l'account Google per ottenere token di accesso, aggiornare il token, scade per caricare video su YouTube e archiviarli nel database. E su mobile, ottengo il token di accesso, il token di aggiornamento, scade ria api che scrivo e l'app per dispositivi mobili utilizza il token di accesso per caricare video senza accedere all'account google per ottenere il token di accesso. Se il token di accesso è scaduto, userò il token di aggiornamento per rigenerare il token di accesso. Ora, ho fatto in iOS, ma in Android non riesco ancora a farlo.Come caricare video su youtube utilizzando token di accesso e API in Android?

+0

Non è [questo] (https://developers.google.com/youtube/v3/code_samples/java#upload_a_video) esattamente quello che stai cercando? – doubledeath

+0

@ user1916184 Quale parte di questo non puoi fare? Il problema è che non è possibile rigenerare il token di accesso? Si prega di fornire esempi di codice ed errori che mostrano il vostro lavoro – OYRM

+0

stesso problema? se hai trovato qualche soluzione, puoi condividere il tuo codice con me per favore? – podgradle

risposta

1
public class UploadService extends AsyncTask<Void,Void,String> 
{ 
    String base64_video=""; 
    String tokenValue=""; 
    ProgressDialog uploadDialog = new ProgressDialog(FinalStandardActivity.this); 


    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     base64_video=convertToBase64(_newVideoPath); 

     uploadDialog.setMessage("Uploading..."); 
     uploadDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
     uploadDialog.setCancelable(false); 
     uploadDialog.show(); 

    } 

    @Override 
    protected String doInBackground(Void... params) { 

     File file=new File(_newVideoPath); 

     loginPreferences = getSharedPreferences("loginPrefs", MODE_PRIVATE); 
     tokenValue=loginPreferences.getString("googleToken",""); 

     if(tokenValue.contentEquals("")) 
     { 

     } 
     else 
     { 
      JSONObject snippet=new JSONObject(); 

      //VideoSnippet snippet = new VideoSnippet(); 
      VideoStatus status = new VideoStatus(); 




      try 
      { 

       snippet.put("categoryId", "22"); 
       snippet.put("description", "Description of uploaded video."); 
       snippet.put("title", "Test video upload"); 
       status.set("privacyStatus", "private"); 


      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 



      // .addFormDataPart("snippet","snippet",RequestBody.create(MediaType.parse("application/json; charset=utf-8"),snippet.toString())) 



      OkHttpClient client = new OkHttpClient(); 
      RequestBody formBody = new MultipartBody.Builder() 
        .setType(MultipartBody.FORM) 
        .addFormDataPart("snippet","snippet", 
          RequestBody.create(MediaType.parse("application/json; charset=utf-8"),snippet.toString())) 
        .addFormDataPart("videoFile", file.getName(), 
          RequestBody.create(MediaType.parse("video/*"), file)) 
        .build(); 
      // let metadata = "{'snippet':{'title' : 'title', 'description': 'description'}}".data(using: .utf8, allowLossyConversion: false)! 

      //MediaType.parse("application/json; charset=utf-8") 



      //UPLOAD_URL=UPLOAD_URL+"?part="+snippet.toString(); 

      Request request = new Request.Builder() 
        .addHeader("Authorization","Bearer "+tokenValue) 
        .addHeader("Content-Type", "application/json") 
        .addHeader("cache-control", "no-cache") 
        .url(UPLOAD_URL) 
        .post(formBody) 
        .build(); 

      client.newCall(request).enqueue(new Callback() { 
       @Override 
       public void onFailure(Call call, IOException e) 
       { 
        Log.e(TAG, e.toString()); 
       } 

       @Override 
       public void onResponse(Call call, Response response) throws IOException 
       { 
        Log.e(TAG,response.body().toString()); 
        uploadDialog.dismiss(); 
       } 
      }); 

     } 
     return null; 
    } 
} 
+0

Ho bisogno di aiuto. Che biblioteca hai usato per questo? Ho bisogno di token e voglio caricare video con questo token su youtube per favore aiutami [email protected] – podgradle

Problemi correlati