在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

我想在我的android应用程序中集成类似youtube的按钮。通过参考本教程


我发现这个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);

}