Как использовать Google Task API? Инициализировать задачи Получить TaskList и т. Д.?
Я хочу использовать API задач Google и хочу получить список задач, обновить, удалить, добавить и т. Д., И я нашел эту ссылку https://developers.google.com/google-apps/tasks/oauth-and-tasks-on-android где пошаговая процедура дана по той ссылке, библиотеки, которые даны, устарели.
Вот почему я скачал латентную библиотеку google-api-java-client-1.12.0-beta отсюда http://code.google.com/p/google-api-java-client/downloads/detail?name=google-api-java-client-1.12.0-beta.zip&can=2&q= и google-api-services-tasks-v1-rev5-java-1.12.0-beta отсюда http://code.google.com/p/google-api-java-client/wiki/APIs и попробуйте приведенный код и аналогичный ему, но, к счастью, ничего не получите, я успешно получил accesstoken, но ничего не получил, и в последних библиотеках большинство методов - это изменения, так как инициализировать задачи и получить TaskList, создавать, удалять и т.д....... Я не нашел ни одного документа, связанного с обновленной библиотекой.
Надеюсь на ваши пожелания. Благодарю.
1 ответ
Это решение для обмена данными между серверами с использованием OAuth 2.0. Это трехэтапный процесс.
- Аутентификация с использованием OAuth 2.0
- Получите сервисный объект com.google.api.services.tasks.Tasks
- Получить необходимую задачу или TaskList
В этом примере кода он использует идентификатор домена "abc.com", а пользователь - "user1@abc.com". Для пользователей gmail, укажите gmailid (abc@gmail.com) в качестве ключа пользователя и оставьте "xoauth_requestor_id" как gmailid.
import com.google.api.client.http.*;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson.JacksonFactory;
import com.google.api.services.tasks.*;
import com.google.api.client.auth.oauth.OAuthHmacSigner;
import com.google.api.client.auth.oauth.OAuthParameters;
public class GoogleConnection {
public Tasks setup() throws Exception {
com.google.api.services.tasks.Tasks tasks = null;
HttpRequestFactory httpRequestFactory = null;
HttpRequestInitializer httpRequestInitializer = null;
OAuthHmacSigner signer = new OAuthHmacSigner();
HttpTransport httpTransport = new NetHttpTransport();
OAuthParameters oauthParameters = new OAuthParameters();
final ArrayMap<String, Object> customKeys = new ArrayMap<String, Object>();
customKeys.add("xoauth_requestor_id", "user1@abc.com");
signer.clientSharedSecret = "secret_key_received_from_google";
oauthParameters.version = "2.0";
oauthParameters.consumerKey = "abc.com";
oauthParameters.signer = signer;
httpRequestFactory = createRequestFactory(httpTransport, oauthParameters, "20000", "20000");
httpRequestInitializer = httpRequestFactory.getInitializer();
tasks = new com.google.api.services.tasks.Tasks.Builder(httpTransport, new JacksonFactory(), httpRequestInitializer)
.setTasksRequestInitializer(new TasksRequestInitializer() {
@Override
public void initializeTasksRequest(TasksRequest<?> request) throws IOException {
@SuppressWarnings("rawtypes")
TasksRequest tasksRequest = (TasksRequest) request;
tasksRequest.setUnknownKeys(customKeys);
tasksRequest.setKey("keyapi_received_from_google_by_registering_your_app");
}
})
.setApplicationName("")
.build();
return tasks;
}
}
Получение задач из списка задач Создание экземпляра класса GoogleConnection
public List<com.google.api.services.tasks.model.Task> getTasksFromTaskList(String taskListId) throws Exception {
com.google.api.services.tasks.Tasks tasksService = googleConnection.setup();
com.google.api.services.tasks.model.Tasks result = tasksService .tasks().list(taskListId).execute();
return result.getItems();
}