2012-11-30 7 views
0

Google 작업 API를 사용하고 tasklist, 업데이트, 삭제, 추가 등을 원합니다.이 링크 https://developers.google.com/google-apps/tasks/oauth-and-tasks-on-android 단계별 절차가 해당 링크에서 제공되는 라이브러리가 제공되지 않는 것으로 나타났습니다. 내가 http://code.google.com/p/google-api-java-client/downloads/detail?name=google-api-java-client-1.12.0-beta.zip&can=2&q= 여기에서 latetst 라이브러리 구글-API - 자바 클라이언트 1.12.0 베타을 다운로드 API - 서비스 - 작업-V1-rev5 - 자바 1.12.0 베타를 google- 한 이유Google 태스크 API 사용 방법 작업 초기화 TaskList 등 가져 오기?

여기에서 http://code.google.com/p/google-api-java-client/wiki/APIs#Tasks_API 그리고 주어진 코드와 비슷한 시도해보십시오.하지만 아무런 성공도 얻지 못했습니다. 아무 것도 얻지 못하고 아무것도 얻지 못하고 최신 libs에서 대부분의 메서드가 변경되어 Task를 초기화하고 TaskList를 만들고, delete etc ...... 업데이트 된 라이브러리와 관련된 단일 문서가 아닙니다.

귀하의 의견에 감사드립니다. 감사합니다. .

답변

0

이 솔루션은 세 단계 과정의 OAuth 2.0 을 사용하여 서버 통신에 서버입니다

  1. 인증하고 사용하여 OAuth 2.0
  2. 는 com.google.api.services.tasks.Tasks 서비스 개체를 가져옵니다
  3. 은 도메인 ID가 "abc.com"를 사용이 샘플 코드에서 필요한 작업 또는 작업 목록

를 확인하고 사용자가 "[email protected]"입니다. Gmail 사용자의 경우, consumerkey로 gmailid ([email protected])를 제공하시기 바랍니다과 작업 목록 인스턴스화 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(); 

}

에서

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", "[email protected]"); 
    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; 
    } 
} 

가져 오기 작업을 gmailid로 "xoauth_requestor_id"를 남겨