Я создал новый проект Unity, который использует C # и System.Net для доступа к API Imgur. Я могу загружать изображения в свое приложение из любой точки мира и загружать скриншоты в Imgur через идентификатор клиента моего нового приложения. Я могу получить достаточное количество данных ответа при успешной загрузке, но URL-адрес в ответе всегда устарел на 1. Если я только что загрузил Снимок экрана D, URL-адрес, который я получу, будет ссылаться на Снимок экрана C,и т. д.
Вот как выглядят данные ответов:
![enter image description here](https://i.stack.imgur.com/lMacC.png)
Это результат, который я имеюПерепутал все попытки, включая использование w.UploadValuesAsync()
и попытки анонимной и OAuth2 (без обратного вызова) версий приложений Imgur.
Вот основная часть моего кода, полученная отсюда .
public void UploadThatScreenshot()
{
StartCoroutine(AppScreenshotUpload());
}
IEnumerator AppScreenshotUpload()
{
yield return new WaitForEndOfFrame();
ScreenCapture.CaptureScreenshot(Application.persistentDataPath + filename);
//Make sure that the file save properly
float startTime = Time.time;
while (false == File.Exists(Application.persistentDataPath + filename))
{
if (Time.time - startTime > 5.0f)
{
yield break;
}
yield return null;
}
//Read the saved file back into bytes
byte[] rawImage = File.ReadAllBytes(Application.persistentDataPath + filename);
//Before we try uploading it to Imgur we need a Server Certificate Validation Callback
ServicePointManager.ServerCertificateValidationCallback = MyRemoteCertificateValidationCallback;
//Attempt to upload the image
using (var w = new WebClient())
{
string clientID = "a95bb1ad4f8bcb8";
w.Headers.Add("Authorization", "Client-ID " + clientID);
var values = new NameValueCollection
{
{ "image", Convert.ToBase64String(rawImage) },
{ "type", "base64" },
};
byte[] response = w.UploadValues("https://api.imgur.com/3/image.xml", values);
string returnResponse = XDocument.Load(new MemoryStream(response)).ToString();
Debug.Log(returnResponse);
}
}
Почему URL, который я получаю от w.UploadValues(...)
, всегда отстает на один?