mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Fix request string protocol, add webkey as arg for proper encoding
This commit is contained in:
parent
8b00c0a71d
commit
6cf5dd15ef
1 changed files with 15 additions and 6 deletions
|
@ -3,6 +3,7 @@
|
|||
using Newtonsoft.Json;
|
||||
using ShareX.HelpersLib;
|
||||
using ShareX.UploadersLib.Properties;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
@ -14,13 +15,16 @@ public class FirebaseDynamicLinksURLShortenerService : URLShortenerService
|
|||
|
||||
public override Icon ServiceIcon => Resources.Firebase;
|
||||
|
||||
public override bool CheckConfig(UploadersConfig config) => true;
|
||||
public override bool CheckConfig(UploadersConfig config)
|
||||
{
|
||||
return !string.IsNullOrEmpty(config.FirebaseWebAPIKey) && !string.IsNullOrEmpty(config.FirebaseDynamicLinkDomain);
|
||||
}
|
||||
|
||||
public override URLShortener CreateShortener(UploadersConfig config, TaskReferenceHelper taskInfo)
|
||||
{
|
||||
return new FirebaseDynamicLinksURLShortener
|
||||
{
|
||||
FirebaseWebAPIKey = config.FirebaseWebAPIKey,
|
||||
WebAPIKey = config.FirebaseWebAPIKey,
|
||||
DynamicLinkDomain = config.FirebaseDynamicLinkDomain,
|
||||
IsShort = config.FirebaseIsShort
|
||||
};
|
||||
|
@ -48,7 +52,7 @@ public class FirebaseRequestSuffix
|
|||
|
||||
public sealed class FirebaseDynamicLinksURLShortener : URLShortener
|
||||
{
|
||||
public string FirebaseWebAPIKey { get; set; }
|
||||
public string WebAPIKey { get; set; }
|
||||
public string DynamicLinkDomain { get; set; }
|
||||
public bool IsShort { get; set; }
|
||||
|
||||
|
@ -56,10 +60,15 @@ public override UploadResult ShortenURL(string url)
|
|||
{
|
||||
UploadResult result = new UploadResult { URL = url };
|
||||
|
||||
string RequestUrl = URLHelpers.ForcePrefix("firebasedynamiclinks.googleapis.com/v1/shortLinks?key=" + FirebaseWebAPIKey);
|
||||
string longDynamicLink = URLHelpers.ForcePrefix(DynamicLinkDomain + ".app.goo.gl/?link=" + url);
|
||||
string RequestUrl = BrowserProtocol.https + "firebasedynamiclinks.googleapis.com/v1/shortLinks";
|
||||
string longDynamicLink = BrowserProtocol.https + DynamicLinkDomain + ".app.goo.gl/?link=" + url;
|
||||
string option;
|
||||
|
||||
Dictionary<string, string> args = new Dictionary<string, string>
|
||||
{
|
||||
{ "key", WebAPIKey }
|
||||
};
|
||||
|
||||
if (IsShort)
|
||||
{
|
||||
option = "SHORT";
|
||||
|
@ -79,7 +88,7 @@ public override UploadResult ShortenURL(string url)
|
|||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(request);
|
||||
result.Response = SendRequest(HttpMethod.POST, RequestUrl, json, ContentTypeJSON);
|
||||
result.Response = SendRequest(HttpMethod.POST, RequestUrl, json, ContentTypeJSON, args);
|
||||
result.ShortenedURL = JsonConvert.DeserializeObject<FirebaseResponse>(result.Response).shortLink;
|
||||
|
||||
return result;
|
||||
|
|
Loading…
Reference in a new issue