静态用户名和密码的android YouTube上传视频 [英] android youtube upload video with static username and password

查看:213
本文介绍了静态用户名和密码的android YouTube上传视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我上传视频到YouTube在默认情况下上传用户谁已登录的谷歌帐户。

i am uploading video to youtube which by default uploads to user who have login in google account.

但我想设置的所有视频上传应该用我的静态gmailID和密码

But i want to set that all video should upload using my static gmailID and password

是否有可能直接采用静态EMAILID和密码在谷歌帐户登录?

Is it possible to Login in google account directly using static emailid and password ?

或者有什么其他好的API或示例上传的视频在YouTube上。

Or any other good api or example to upload video in youtube.

在此先感谢....

推荐答案

我已经上传的YouTube视频成功。

I have uploaded youtube video successfully.

  • 录制视频并上传
  • 从SD卡
  • 视频

使用

步骤:

1)从这个链接

2)进口作为一个Android项目。

2) Import as an android project.

3)更换文件: GlsAuthorizer.java ClientLoginAuthorizer.java

4)设置用户名和密码的 ClientLoginAuthorizer.java

4) Set Username and password in ClientLoginAuthorizer.java

5)注册你的电子邮件ID是 www.appspot.com

5) Register your email id with www.appspot.com

6)设置所有值 string.xml文件

7)运行项目.....在这里你去。

7) Run project..... here you go.

$ C $下的 ClientLoginAuthorizer.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import android.app.Activity;
import android.content.Context;
import android.util.Log;




/**
 * Created by IntelliJ IDEA. User: jarekw Date: Nov 18, 2010 Time: 11:21:36 PM
 * To change this template use File | Settings | File Templates.
 */
public class ClientLoginAuthorizer implements Authorizer {
    public static final String YOUTUBE_AUTH_TOKEN_TYPE = "youtube";
    private static final String AUTH_URL = "https://www.google.com/accounts/ClientLogin";
    private Context ctx;
    private static final String LOG_TAG = ClientLoginAuthorizer.class
            .getSimpleName();

    public ClientLoginAuthorizer(Context context) {
        this.ctx = context;

    }

    @Override
    public void fetchAccounts(AuthorizationListener<String[]> listener) {
        // not used

    }

    @Override
    public void addAccount(Activity activity,
            AuthorizationListener<String> listener) {
        // not used

    }

    @Override
    public void fetchAuthToken(String accountName, Activity activity,
            AuthorizationListener<String> listener) {
        Log.d(LOG_TAG, "Getting " + YOUTUBE_AUTH_TOKEN_TYPE + " authToken for "
                + accountName);
        try {
            String token = getCLAuthToken(accountName);
            listener.onSuccess(token);
        } catch (Exception e) {

            listener.onError(e);

        }
    }

    @Override
    public String getAuthToken(String accountName) {
        try {
            String token = getCLAuthToken(accountName);
            return token;
        } catch (IOException e) {

            e.printStackTrace();
            return null;

        }
    }

    public String getCLAuthToken(String accountName) throws IOException {
        HttpURLConnection urlConnection = getGDataUrlConnection(AUTH_URL);
        urlConnection.setRequestMethod("POST");
        urlConnection.setDoOutput(true);
        urlConnection.setRequestProperty("Content-Type",
                "application/x-www-form-urlencoded");
        String template = "Email=%s&Passwd=%s&service=%s&source=%s";
        String userName = "USERNAME"; // TODO
        String password = "PASSWORD"; // TODO
        String service = YOUTUBE_AUTH_TOKEN_TYPE;
        String source = ctx.getString(R.string.client_id);
        String loginData = String.format(template, encode(userName),
                encode(password), service, source);
        OutputStreamWriter outStreamWriter = new OutputStreamWriter(
                urlConnection.getOutputStream());
        outStreamWriter.write(loginData);
        outStreamWriter.close();
        int responseCode = urlConnection.getResponseCode();
        if (responseCode != 200) {
            Log.d(LOG_TAG, "Got an error response : " + responseCode + " "
                    + urlConnection.getResponseMessage());
            throw new IOException(urlConnection.getResponseMessage());
        } else {

            InputStream is = urlConnection.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line = null;
            while ((line = br.readLine()) != null) {
                if (line.startsWith("Auth=")) {
                    String split[] = line.split("=");
                    String token = split[1];
                    Log.d(LOG_TAG, "Auth Token : " + token);
                    return token;
                }
            }
        }

        throw new IOException("Could not read response");

    }

    private String encode(String string) throws UnsupportedEncodingException {
        return URLEncoder.encode(string, "UTF-8");

    }

    private HttpURLConnection getGDataUrlConnection(String urlString)
            throws IOException {
        URL url = new URL(urlString);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        return connection;

    }

    @Override
    public String getFreshAuthToken(String accountName, String authToken) {
        return getAuthToken(accountName);

    }

    public static class ClientLoginAuthorizerFactory implements
            AuthorizerFactory {
        public Authorizer getAuthorizer(Context context, String authTokenType) {
            return new ClientLoginAuthorizer(context);

        }
    }
}

这篇关于静态用户名和密码的android YouTube上传视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆