在android应用程序中集成类似youtube的按钮
我想在我的android应用程序中集成类似youtube的按钮。通过参考本教程在android应用程序中集成类似youtube的按钮,android,youtube-api,youtube-data-api,Android,Youtube Api,Youtube Data Api,我想在我的android应用程序中集成类似youtube的按钮。通过参考本教程 我发现这个api链接可以用来实现这一点。有人能告诉我如何将特定的视频Id与此api链接一起传递吗 //getPostLikeBtn(创建此方法。) private void getPostLikeBtn(最终字符串评级){ 字符串tag_json_obj=“recipeLike”; 最终点对话点对话=新点对话(上下文); spotsDialog.show(); setMessage(“正在加载…”); StringR
我发现这个api链接可以用来实现这一点。有人能告诉我如何将特定的视频Id与此api链接一起传递吗 //getPostLikeBtn(创建此方法。)
private void getPostLikeBtn(最终字符串评级){
字符串tag_json_obj=“recipeLike”;
最终点对话点对话=新点对话(上下文);
spotsDialog.show();
setMessage(“正在加载…”);
StringRequest jsonObjectRequest=新的StringRequest(Request.Method.POST,
"https://www.googleapis.com/youtube/v3/videos/rate",
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
spotsDialog.disclose();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
试一试{
spotsDialog.disclose();
试一试{
if(error.networkResponse.data!=null){
试一试{
字符串体=新字符串(error.networkResponse.data,“UTF-8”);
Log.e(“类错误”,正文);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
spotsDialog.disclose();
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}捕获(例外e){
e、 printStackTrace();
}
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}捕获(例外e){
e、 printStackTrace();
}
//隐藏进度对话框
}
}) {
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
int mStatusCode=response.statusCode;
Log.e(“mStatusCode”,“mStatusCode+mStatusCode”);
if(mStatusCode==204){
Toast.makeText(上下文,“已成功更新”,Toast.LENGTH_SHORT.show();
getLikeShare();
}否则{
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}
返回super.parseNetworkResponse(response);
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
SharedReferences prefs=GetSharedReferences(“谷歌令牌”,模式为私有);
String token=prefs.getString(“token”,null);
参数put(“授权”、“持票人”+代币);
返回参数;
}
@凌驾
受保护的映射getParams(){
Map jsonObject=newhashmap();
试一试{
jsonObject.put(“id”、“视频id”);
jsonObject.put(“评级”,评级);
}捕获(例外e){
e、 printStackTrace();
}
Log.e(“jsonObject”,即“+jsonObject”);
返回jsonObject;
}
};
AppController.getInstance().addToRequestQueue(jsonObjectRequest,标记为json\u obj);
}
我希望这对您有用。将此代码用于类似youtube的视频 //getPostLikeBtn(创建此方法。)
private void getPostLikeBtn(最终字符串评级){
字符串tag_json_obj=“recipeLike”;
最终点对话点对话=新点对话(上下文);
spotsDialog.show();
setMessage(“正在加载…”);
StringRequest jsonObjectRequest=新的StringRequest(Request.Method.POST,
"https://www.googleapis.com/youtube/v3/videos/rate",
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
spotsDialog.disclose();
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
试一试{
spotsDialog.disclose();
试一试{
if(error.networkResponse.data!=null){
试一试{
字符串体=新字符串(error.networkResponse.data,“UTF-8”);
Log.e(“类错误”,正文);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
}
spotsDialog.disclose();
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}捕获(例外e){
e、 printStackTrace();
}
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}捕获(例外e){
e、 printStackTrace();
}
//隐藏进度对话框
}
}) {
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
int mStatusCode=response.statusCode;
Log.e(“mStatusCode”,“mStatusCode+mStatusCode”);
if(mStatusCode==204){
Toast.makeText(上下文,“已成功更新”,Toast.LENGTH_SHORT.show();
getLikeShare();
}否则{
Toast.makeText(context,getResources().getString(R.string.try_重试),Toast.LENGTH_SHORT.show();
}
返回super.parseNetworkResponse(response);
}
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
共享DPR
private void getPostLikeBtn(final String rating) {
String tag_json_obj = "recipeLike";
final SpotsDialog spotsDialog = new SpotsDialog(context);
spotsDialog.show();
spotsDialog.setMessage("Loading...");
StringRequest jsonObjectRequest = new StringRequest(Request.Method.POST,
"https://www.googleapis.com/youtube/v3/videos/rate",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
spotsDialog.dismiss();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
try {
spotsDialog.dismiss();
try {
if (error.networkResponse.data != null) {
try {
String body = new String(error.networkResponse.data, "UTF-8");
Log.e("errorLike", body);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
spotsDialog.dismiss();
Toast.makeText(context, getResources().getString(R.string.try_again), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
Toast.makeText(context, getResources().getString(R.string.try_again), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
// hide the progress dialog
}
}) {
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
int mStatusCode = response.statusCode;
Log.e("mStatusCode", "" + mStatusCode);
if (mStatusCode == 204) {
Toast.makeText(context, "Successfully updated", Toast.LENGTH_SHORT).show();
getLikeShare();
} else {
Toast.makeText(context, getResources().getString(R.string.try_again), Toast.LENGTH_SHORT).show();
}
return super.parseNetworkResponse(response);
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
SharedPreferences prefs = getSharedPreferences("GOOGLE_TOKEN", MODE_PRIVATE);
String token = prefs.getString("token", null);
params.put("Authorization", "Bearer " + token);
return params;
}
@Override
protected Map<String, String> getParams() {
Map<String, String> jsonObject = new HashMap<>();
try {
jsonObject.put("id", "Video id");
jsonObject.put("rating", rating);
} catch (Exception e) {
e.printStackTrace();
}
Log.e("jsonObject", "" + jsonObject);
return jsonObject;
}
};
AppController.getInstance().addToRequestQueue(jsonObjectRequest, tag_json_obj);
}