public PublishToGalleryAsync ( string galleryItemId, string title, string topicId = null, bool bypassTerms = null, bool mature = null ) : Task |
||
galleryItemId | string | The gallery item id. |
title | string | The title of the image. This is required. |
topicId | string | The topic id - not the topic name. |
bypassTerms | bool | /// If the user has not accepted the terms yet, this endpoint will return an error. To by-pass /// the terms in general simply set this value to true. /// |
mature | bool | If the post is mature, set this value to true. |
return | Task |
public async Task<bool> PublishToGalleryAsync(string galleryItemId, string title, string topicId = null,
bool? bypassTerms = null,
bool? mature = null)
{
if (string.IsNullOrWhiteSpace(galleryItemId))
throw new ArgumentNullException(nameof(galleryItemId));
if (string.IsNullOrWhiteSpace(title))
throw new ArgumentNullException(nameof(title));
if (ApiClient.OAuth2Token == null)
throw new ArgumentNullException(nameof(ApiClient.OAuth2Token), OAuth2RequiredExceptionMessage);
var url = $"gallery/{galleryItemId}";
using (var request = RequestBuilder.PublishToGalleryRequest(url, title, topicId, bypassTerms, mature))
{
var published = await SendRequestAsync<bool>(request).ConfigureAwait(false);
return published;
}
}
public async Task PublishToGalleryAsync_True() { var mockUrl = "https://api.imgur.com/3/gallery/xyZ"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockGalleryEndpointResponses.PublishToGallery) }; var client = new ImgurClient("123", "1234", MockOAuth2Token); var endpoint = new GalleryEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var published = await endpoint.PublishToGalleryAsync("xyZ", "Test Title").ConfigureAwait(false); Assert.True(published); }