gpt4 book ai didi

android - 如何在 Android 应用程序中集成 Google 阅读器?

转载 作者:太空狗 更新时间:2023-10-29 15:43:49 51 4
gpt4 key购买 nike

我想将 Google 阅读器集成到我的 android 应用程序中。请帮助我如何执行此操作?

最佳答案

希望对您有所帮助:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

try{
String auth = getGoogleAuthKey("<your gmail email address>","<your password>");
String token = getGoogleToken(auth);
String result = postToGoogleReader(token, auth);
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(result);
}catch(Exception e){
}

}

protected String getGoogleAuthKey(String _USERNAME, String _PASSWORD) {
String responseString = "";
URL url;
try {
//open the connection
url = new URL("https://www.google.com/accounts/ClientLogin");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true);

//create the body
StringBuilder sb = new StringBuilder();
sb.append("accountType=");
sb.append("GOOGLE");
sb.append("&Email=");
sb.append(_USERNAME);
sb.append("&Passwd=");
sb.append(_PASSWORD);
sb.append("&service=");
sb.append("reader");
sb.append("&source=");
sb.append("&lt;your app name&gt;");

//make a request and retrieve results
OutputStream outputStream = urlConnection.getOutputStream();
outputStream.write(sb.toString().getBytes("UTF-8"));
outputStream.close();
sb = null;

int responseCode = urlConnection.getResponseCode();
InputStream inputStream;
if (responseCode == HttpURLConnection.HTTP_OK) {
inputStream = urlConnection.getInputStream();
responseString = convertStreamToString(inputStream);
String _AUTHKEY = responseString.substring(responseString.indexOf("Auth="), responseString.length());
responseString = _AUTHKEY.replace( "Auth=","" );
inputStream.close();
urlConnection.disconnect();
}else {
urlConnection.disconnect();
return "error";
}
} catch (Exception e) {
return e.getMessage();
}
Log.d("GoogleReader", "Auth.a=" + responseString);
return responseString.trim();
}

public String getGoogleToken(String authorization) {
final String googleReaderTokenUrl = "https://www.google.com/reader/api/0/token";
String responseString = "";
URL url;

try {
//open the connection
url = new URL(googleReaderTokenUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
Log.d("GoogleReader", "Auth.b=" + authorization);
urlConnection.addRequestProperty("Authorization", "GoogleLogin auth=" + authorization);
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Content-Type","application/x-www-form-urlendcoded");
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true);

try {
InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream());
responseString = convertStreamToString(inputStream);
}catch(Exception e){
int responseCode = urlConnection.getResponseCode();
return Integer.toString(responseCode);
//return e.getMessage();
}finally {
urlConnection.disconnect();
}
} catch (Exception e) {
return e.getMessage();
}
return responseString;
}

public String postToGoogleReader(String token, String authorization){
final String googleAuthUrl = "http://www.google.com/reader/api/0/item/edit";
String responseString = "";
URL url;
try {

//create the body
StringBuilder sb = new StringBuilder();
sb.append("accountType=");
sb.append("GOOGLE");
sb.append("&snippet=");
sb.append(URLEncoder.encode("TheSnippet", "UTF-8"));
sb.append("&T=");
sb.append(URLEncoder.encode(token, "UTF-8"));
sb.append("&share=");
sb.append(false);
sb.append("&url=");
sb.append(URLEncoder.encode("http://developer.android.com/index.html", "UTF-8"));
sb.append("&title=");
sb.append(URLEncoder.encode("TheTitle", "UTF-8"));
sb.append("&srcTitle=");
sb.append(URLEncoder.encode("TheSource", "UTF-8"));
sb.append("&srcUrl=");
sb.append(URLEncoder.encode("www.your_web_site", "UTF-8"));


//open the connection
url = new URL(googleAuthUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
Log.d("GoogleReader", "Auth.c=" + authorization);
urlConnection.addRequestProperty("Authorization", "GoogleLogin auth=" + authorization);
urlConnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
urlConnection.setRequestProperty("Content-Length", Integer.toString(sb.toString().getBytes("UTF-8").length));
urlConnection.setUseCaches(false);
urlConnection.setDoOutput(true);


//make a request and retrieve results
OutputStream outputStream = urlConnection.getOutputStream();
outputStream.write(sb.toString().getBytes("UTF-8"));
outputStream.close();
sb = null;

int responseCode = urlConnection.getResponseCode();
InputStream inputStream;
if (responseCode == HttpURLConnection.HTTP_OK) {
inputStream = urlConnection.getInputStream();
responseString = convertStreamToString(inputStream);
inputStream.close();
urlConnection.disconnect();
}else {
inputStream = urlConnection.getInputStream();
responseString = convertStreamToString(inputStream);
urlConnection.disconnect();
return "error";
}
} catch (Exception e) {
return e.getMessage();
}
return responseString;

}

private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}

关于android - 如何在 Android 应用程序中集成 Google 阅读器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619013/

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