mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-15 20:26:53 +02:00
do not check token status during initialization
This commit is contained in:
parent
b703a824c7
commit
9e2123249a
|
@ -13,6 +13,7 @@ private immutable {
|
||||||
string driveUrl = "https://graph.microsoft.com/v1.0/me/drive";
|
string driveUrl = "https://graph.microsoft.com/v1.0/me/drive";
|
||||||
string itemByIdUrl = "https://graph.microsoft.com/v1.0/me/drive/items/";
|
string itemByIdUrl = "https://graph.microsoft.com/v1.0/me/drive/items/";
|
||||||
string itemByPathUrl = "https://graph.microsoft.com/v1.0/me/drive/root:/";
|
string itemByPathUrl = "https://graph.microsoft.com/v1.0/me/drive/root:/";
|
||||||
|
string driveByIdUrl = "https://graph.microsoft.com/v1.0/me/drives/";
|
||||||
}
|
}
|
||||||
|
|
||||||
class OneDriveException: Exception
|
class OneDriveException: Exception
|
||||||
|
@ -64,15 +65,8 @@ final class OneDriveApi
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
refreshToken = readText(cfg.refreshTokenFilePath);
|
refreshToken = readText(cfg.refreshTokenFilePath);
|
||||||
getDefaultDrive();
|
|
||||||
} catch (FileException e) {
|
} catch (FileException e) {
|
||||||
return authorize();
|
return authorize();
|
||||||
} catch (OneDriveException e) {
|
|
||||||
if (e.httpStatusCode == 400 || e.httpStatusCode == 401) {
|
|
||||||
log.log("Refresh token invalid");
|
|
||||||
return authorize();
|
|
||||||
}
|
|
||||||
throw e;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -104,11 +98,11 @@ final class OneDriveApi
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://dev.onedrive.com/items/view_delta.htm
|
// https://dev.onedrive.com/items/view_delta.htm
|
||||||
JSONValue viewChangesById(const(char)[] id, const(char)[] deltaLink)
|
JSONValue viewChangesById(const(char)[] driveId, const(char)[] id, const(char)[] deltaLink)
|
||||||
{
|
{
|
||||||
checkAccessTokenExpired();
|
checkAccessTokenExpired();
|
||||||
if (deltaLink) return get(deltaLink);
|
if (deltaLink) return get(deltaLink);
|
||||||
const(char)[] url = itemByIdUrl ~ id ~ "/delta";
|
const(char)[] url = driveByIdUrl ~ driveId ~ "/items/" ~ id ~ "/delta";
|
||||||
url ~= "?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference";
|
url ~= "?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference";
|
||||||
return get(url);
|
return get(url);
|
||||||
}
|
}
|
||||||
|
@ -252,8 +246,15 @@ final class OneDriveApi
|
||||||
|
|
||||||
private void checkAccessTokenExpired()
|
private void checkAccessTokenExpired()
|
||||||
{
|
{
|
||||||
if (Clock.currTime() >= accessTokenExpiration) {
|
try {
|
||||||
newToken();
|
if (Clock.currTime() >= accessTokenExpiration) {
|
||||||
|
newToken();
|
||||||
|
}
|
||||||
|
} catch (OneDriveException e) {
|
||||||
|
if (e.httpStatusCode == 400 || e.httpStatusCode == 401) {
|
||||||
|
e.msg ~= "\nRefresh token invalid, use --logout to authorize the client again";
|
||||||
|
}
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue