mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Support "fields" query for efficieny
This commit is contained in:
parent
21c5e764fc
commit
74c8ed1613
3 changed files with 28 additions and 19 deletions
|
@ -106,13 +106,11 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
{
|
||||
if (!CheckAuthorization()) return null;
|
||||
|
||||
string name = fileName;
|
||||
|
||||
string uploadPath = GetUploadPath(name);
|
||||
string uploadPath = GetUploadPath(fileName);
|
||||
|
||||
OnEarlyURLCopyRequested(GenerateURL(uploadPath));
|
||||
|
||||
GoogleCloudStorageMetadata metadata = new GoogleCloudStorageMetadata
|
||||
GoogleCloudStorageMetadata googleCloudStorageMetadata = new GoogleCloudStorageMetadata
|
||||
{
|
||||
name = uploadPath,
|
||||
acl = new GoogleCloudStorageAcl[]
|
||||
|
@ -125,20 +123,13 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
}
|
||||
};
|
||||
|
||||
string metadatajson = JsonConvert.SerializeObject(metadata);
|
||||
string serializedGoogleCloudStorageMetadata = JsonConvert.SerializeObject(googleCloudStorageMetadata);
|
||||
|
||||
UploadResult result = SendRequestFile($"https://www.googleapis.com/upload/storage/v1/b/{Bucket}/o?uploadType=multipart", stream, fileName, "file",
|
||||
headers: googleAuth.GetAuthHeaders(), contentType: "multipart/related", metadata: metadatajson);
|
||||
UploadResult result = SendRequestFile($"https://www.googleapis.com/upload/storage/v1/b/{Bucket}/o?uploadType=multipart&fields=name", stream, fileName, null, headers: googleAuth.GetAuthHeaders(), contentType: "multipart/related", metadata: serializedGoogleCloudStorageMetadata);
|
||||
|
||||
GoogleCloudStorageResponse upload = JsonConvert.DeserializeObject<GoogleCloudStorageResponse>(result.Response);
|
||||
GoogleCloudStorageResponse googleCloudStorageResponse = JsonConvert.DeserializeObject<GoogleCloudStorageResponse>(result.Response);
|
||||
|
||||
if (upload.name != uploadPath)
|
||||
{
|
||||
Errors.Add("Upload failed.");
|
||||
return null;
|
||||
}
|
||||
|
||||
result.URL = GenerateURL(uploadPath);
|
||||
result.URL = GenerateURL(googleCloudStorageResponse.name);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -102,6 +102,11 @@ public GooglePhotosAlbum CreateAlbum(string albumName)
|
|||
}
|
||||
};
|
||||
|
||||
Dictionary<string, string> args = new Dictionary<string, string>
|
||||
{
|
||||
{ "fields", "id" }
|
||||
};
|
||||
|
||||
string serializedNewItemAlbum = JsonConvert.SerializeObject(newItemAlbum);
|
||||
string serializedNewItemAlbumResponse = SendRequest(HttpMethod.POST, "https://photoslibrary.googleapis.com/v1/albums", serializedNewItemAlbum, headers: GoogleAuth.GetAuthHeaders(), contentType: UploadHelpers.ContentTypeJSON);
|
||||
|
||||
|
@ -118,7 +123,8 @@ public List<GooglePhotosAlbumInfo> GetAlbumList()
|
|||
|
||||
Dictionary<string, string> args = new Dictionary<string, string>
|
||||
{
|
||||
{ "excludeNonAppCreatedData", "true" }
|
||||
{ "excludeNonAppCreatedData", "true" },
|
||||
{ "fields", "albums(id,title,shareInfo),nextPageToken" }
|
||||
};
|
||||
|
||||
string pageToken = "";
|
||||
|
@ -167,10 +173,15 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
{
|
||||
AlbumID = CreateAlbum(fileName).id;
|
||||
|
||||
Dictionary<string, string> albumOptionsResponseArgs = new Dictionary<string, string>
|
||||
{
|
||||
{ "fields", "shareInfo/shareableUrl" }
|
||||
};
|
||||
|
||||
GooglePhotosAlbumOptions albumOptions = new GooglePhotosAlbumOptions();
|
||||
|
||||
string serializedAlbumOptions = JsonConvert.SerializeObject(albumOptions);
|
||||
string serializedAlbumOptionsResponse = SendRequest(HttpMethod.POST, $"https://photoslibrary.googleapis.com/v1/albums/{AlbumID}:share", content: serializedAlbumOptions, headers: GoogleAuth.GetAuthHeaders(), contentType: UploadHelpers.ContentTypeJSON);
|
||||
string serializedAlbumOptionsResponse = SendRequest(HttpMethod.POST, $"https://photoslibrary.googleapis.com/v1/albums/{AlbumID}:share", args: albumOptionsResponseArgs, content: serializedAlbumOptions, headers: GoogleAuth.GetAuthHeaders(), contentType: UploadHelpers.ContentTypeJSON);
|
||||
GooglePhotosAlbumOptionsResponse albumOptionsResponse = JsonConvert.DeserializeObject<GooglePhotosAlbumOptionsResponse>(serializedAlbumOptionsResponse);
|
||||
|
||||
result.URL = albumOptionsResponse.shareInfo.shareableUrl;
|
||||
|
@ -200,9 +211,14 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
}
|
||||
};
|
||||
|
||||
Dictionary<string, string> newMediaItemRequestArgs = new Dictionary<string, string>
|
||||
{
|
||||
{ "fields", "newMediaItemResults(mediaItem/productUrl)" }
|
||||
};
|
||||
|
||||
string serializedNewMediaItemRequest = JsonConvert.SerializeObject(newMediaItemRequest);
|
||||
|
||||
result.Response = SendRequest(HttpMethod.POST, "https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate", serializedNewMediaItemRequest, headers: GoogleAuth.GetAuthHeaders(), contentType: UploadHelpers.ContentTypeJSON);
|
||||
result.Response = SendRequest(HttpMethod.POST, "https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate", serializedNewMediaItemRequest, args: newMediaItemRequestArgs, headers: GoogleAuth.GetAuthHeaders(), contentType: UploadHelpers.ContentTypeJSON);
|
||||
|
||||
GooglePhotosNewMediaItemResults newMediaItemResult = JsonConvert.DeserializeObject<GooglePhotosNewMediaItemResults>(result.Response);
|
||||
|
||||
|
|
|
@ -110,11 +110,13 @@ public override UploadResult ShortenURL(string url)
|
|||
|
||||
Dictionary<string, string> args = new Dictionary<string, string>
|
||||
{
|
||||
{ "key", WebAPIKey }
|
||||
{ "key", WebAPIKey },
|
||||
{ "fields", "shortLink" }
|
||||
};
|
||||
|
||||
string requestjson = JsonConvert.SerializeObject(request);
|
||||
result.Response = SendRequest(HttpMethod.POST, "https://firebasedynamiclinks.googleapis.com/v1/shortLinks", requestjson, UploadHelpers.ContentTypeJSON, args);
|
||||
DebugHelper.WriteLine(result.Response);
|
||||
FirebaseResponse firebaseResponse = JsonConvert.DeserializeObject<FirebaseResponse>(result.Response);
|
||||
|
||||
if (firebaseResponse != null)
|
||||
|
|
Loading…
Reference in a new issue