질문이 최신 상태입니까? 아니면 이미 문제가 해결 되었습니까?
편집 :
여기
방법 GoogleCalendar 구현하는 약간 기본 정보 : (
public class MyCalendar
{
private static final String AUTH_TOKEN_TYPE = "cl";
public static final String KEY = "YOUR_API_KEY"; //You can find below Simple API Access at GoogleApiConsole
final HttpTransport transport = AndroidHttp.newCompatibleTransport();
final JsonFactory factory = new GsonFactory();
GoogleAccountManager accountManager;
String name;
String token;
public com.google.api.services.calendar.Calendar mycalendar;
private HttpRequestInitializer initializer = new HttpRequestInitializer()
{
public void initialize(HttpRequest request) throws IOException
{
request.getHeaders().setAuthorization(GoogleHeaders.getGoogleLoginValue(authToken));
}
};
public MyCalendar()
{
}
}
는 Calendar 객체를 만듭니다 달력을 처리하는 클래스
1.Create을 나는 이것을 MyCalendar의 생성자에 넣습니다.
mycalendar = com.google.api.services.calendar.Calendar.builder(transport,jsonFactory)
.setApplicationName("CHOOSE_A_APPNAME")
.setHttpRequestInitializer(initializer)
.setJsonHttpRequestInitializer(new GoogleKeyInitializer(KEY))
.build();
accountManager = new GoogleAccountManager(TimetableApplication.getInstance().getActivity());
findGoogleAcc();
귀하의 캘린더에 액세스하려면 이니셜 라이저의 초기화 메소드 [;-)]가 나중에 호출됩니다. GoogleAccount에 대한
2.Search는 방법에 일정 3.Use 사용자의 전화
void findGoogleAcc()
{
Account account = accountManager.getAccountByName(name);
if(account == null)
{
//Handle wrong name, or if user connect more than one accounts to phone
}
if(token != null)
{
//you already got your token for user's account and these method is not necessary
}
accountManager.getAccountManager().getAuthToken(account, AUTH_TOKEN_TYPE, true, new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> future)
{
try
{
Bundle bundle = future.getResult();
if(bundle.containsKey(AccountManager.KEY_INTENT))
{
// Allow app to connect to googleaccount
Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT);
intent.setFlags(intent.getFlags() & ~ Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivityForResult(intent, 0);
}
else
if(bundle.containsKey(AccountManager.KEY_AUTHTOKEN))
{
this.authToken = authToken;
gotSmthFromCalendar();
}
}
catch(Exception e)
{
}
}
}, null);
}
에 대해 참조 :
void gotSmthFromCalendar()
{
//Here u can do whatever u want.
}
난 당신이 데이터를 requezst하는 AsyncTask를 사용해야합니다() gotSmthFromCalendar에 생각합니다. 예를 들어 다음과 같이 할 수 있습니다.
List<CalendarListEntry> calendarList = mycalendar.calendarList().list().execute().getItems();
for(CalendarListEntry calendarEntry : calendarList)
{
String summary = calendarEntry.getSummary();
String id = calendarEntry.getId();
Log.v("Calendar","Found a calendar with summary : " + summary + " an id: " + id);
}
이러한 기본 사항을 사용하면 v3을 사용할 수 있습니다. 추가 도움이 필요하면 매번 저에게 물어보십시오 !!
Kooki
이 구글을 사용하여 대답하지만, 우리의 프로젝트에 고정되어 있지 칼 v1을 대신 V3 –
의 확인 아,하지만 당신은 몇 가지를 당신에게 도움이 조금 bit.Here 수 있습니다 내가 수도 도움이 필요 obsolete.if 그 V1이 기억 기본 사항 : GoogleApi (https://code.google.com/apis/console)를 만들고 그 위에 프로젝트를 만들면됩니다. 필요한 모든 라이브러리를 프로젝트에 추가해야합니다.그 후 정적 빌더를 사용하여 Calendarobject를 간단하게 만들 수 있습니다. 너 이미 이걸 가지고 있니? – Kooki
예. 불행히도 이러한 문제는 여전히 남아 있습니다. oauth2.0 인증에 대한 정확한 단계를 설명하는 예의 바른 튜토리얼이나 예제는 없습니다. 나는 v1이 쓸모 없다는 것을 안다.하지만이 방법으로는 제대로 작동하고 시간을 제대로 잡을 수 없을 것이다. 그러나 다음 사건에 대한 좋은 해결책은 항상 환영합니다. –