내 프로그램은 Google 캘린더에 접속하여 이벤트를 만들 수있다하지만 텍스트 오류를 수신하고 "잘못된 토큰 - 위해 AuthSub 토큰이 잘못된 범위가"델파이 Google 캘린더에서 이벤트를 생성 - 오류 401
URL은입니다
이 http://www.google.com/calendar/feeds/default/owncalendars/full 내 코드입니다 :이 OAuth를 연결에 대한 내 코드입니다
Begin
createXML := '<?xml version=''1.0'' encoding=''UTF-8''?>'#13#10 +
'<entry xmlns=''http://www.w3.org/2005/Atom'''#13#10 +
'xmlns:gd=''http://schemas.google.com/g/2005''>'#13#10 +
'<category scheme=''http://schemas.google.com/g/2005#kind'''#13#10 +
'term=''http://schemas.google.com/g/2005#event''></category>'#13#10 +
'<title type=''text''>' + title + '</title>'#13#10 +
'<content type=''text''>' + content + '</content>'#13#10 +
'<gd:transparency'#13#10 +
'value=''http://schemas.google.com/g/2005#event.opaque''>'#13#10 +
'</gd:transparency>'#13#10 +
'<gd:eventStatus'#13#10 +
'value=''http://schemas.google.com/g/2005#event.confirmed''>'#13#10 +
'</gd:eventStatus>'#13#10 +
'<gd:where valueString=''' + location + '''></gd:where>'#13#10 +
'<gd:when startTime=''' + EventStartTime + ''''#13#10 +
'endTime=''' + EventEndTime + '''></gd:when>'#13#10 +
'</entry>';
HTTP:=THTTPSend.Create;
url:=Edit3.Text;
WriteStrToStream(HTTP.Document,EncodeURL(createXML));
HTTP.Headers.Add('Authorization: OAuth '+OAuth.Access_token);
HTTP.Headers.Add('GData-Version: 2');
HTTP.MimeType:=('application/atom+xml');
if HTTP.HTTPMethod('POST',url) then
XML:=HTTP.Document;
Memo2.Lines.LoadFromStream(XML);
End;
...
Const
client_id=%s&client_secret=%s&code=%s&redirect_uri=%s&grant_type=authorization_code';
.....
procedure TForm2.Button4Click(Sender: TObject); var HTTP:THTTPSend;
begin HTTP:=THTTPSend.Create;
try
HTTP.Headers.Add('Authorization: OAuth '+OAuth.Access_token);
HTTP.Headers.Add('GData-Version: 2');
if HTTP.HTTPMethod('GET','google.com:443/calendar/feeds/default/allcalendars/full') then
XML:=HTTP.Document;
End;
,536,
감사합니다.
사용자 : Google은
대신 OAuth.Access_token과 관련된 코드를 추가하면 유용합니다. – AMS
@AMS는 Oauth Connect의 코드를 추가합니다. – DeveloperPop