gpt4 book ai didi

android - 如何在 android 中使用访问 token 和 api 在 youtube 上上传视频?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:00 25 4
gpt4 key购买 nike

我构建了网络和移动应用程序,并且它们是同步的。因此,在我登录并授权 google 帐户获取访问 token 、刷新 token 、过期以在 youtube 上上传视频并存储在数据库中之后。在移动设备上,我获得了访问 token 、刷新 token 、过期我编写的 ria api 和移动应用程序使用访问 token 上传视频而无需登录谷歌帐户来获取访问 token 。如果访问 token 过期,我将使用刷新 token 重新生成访问 token 。现在,我在 iOS 上做到了,但在 Android 上我仍然做不到。

最佳答案

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;
}
}

关于android - 如何在 android 中使用访问 token 和 api 在 youtube 上上传视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430279/

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