Exemplo n.º 1
0
        public override UploadResult ShortenURL(string url)
        {
            UploadResult result = new UploadResult {
                URL = url
            };

            FirebaseRequest requestOptions = new FirebaseRequest
            {
                dynamicLinkInfo = new DynamicLinkInfo
                {
                    dynamicLinkDomain = URLHelpers.RemovePrefixes(DynamicLinkDomain),
                    link = url
                }
            };

            if (IsShort)
            {
                requestOptions.suffix = new FirebaseSuffix
                {
                    option = "SHORT"
                };
            }

            Dictionary <string, string> args = new Dictionary <string, string>
            {
                { "key", WebAPIKey },
                { "fields", "shortLink" }
            };

            string serializedRequestOptions = JsonConvert.SerializeObject(requestOptions);

            result.Response = SendRequest(HttpMethod.POST, "https://firebasedynamiclinks.googleapis.com/v1/shortLinks", serializedRequestOptions, RequestHelpers.ContentTypeJSON, args);

            FirebaseResponse firebaseResponse = JsonConvert.DeserializeObject <FirebaseResponse>(result.Response);

            if (firebaseResponse != null)
            {
                result.ShortenedURL = firebaseResponse.shortLink;
            }

            return(result);
        }
Exemplo n.º 2
0
        public override UploadResult ShortenURL(string url)
        {
            UploadResult result = new UploadResult {
                URL = url
            };

            string RequestUrl      = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks";
            string longDynamicLink = URLHelpers.ForcePrefix(DynamicLinkDomain + ".app.goo.gl/?link=" + HttpUtility.UrlEncode(url));
            string option;

            Dictionary <string, string> args = new Dictionary <string, string>
            {
                { "key", WebAPIKey }
            };

            if (IsShort)
            {
                option = "SHORT";
            }
            else
            {
                option = "UNGUESSABLE";
            }

            FirebaseRequest request = new FirebaseRequest
            {
                longDynamicLink = longDynamicLink,
                suffix          = new FirebaseRequestSuffix
                {
                    option = option
                }
            };

            string json = JsonConvert.SerializeObject(request);

            result.Response     = SendRequest(HttpMethod.POST, RequestUrl, json, ContentTypeJSON, args);
            result.ShortenedURL = JsonConvert.DeserializeObject <FirebaseResponse>(result.Response).shortLink;

            return(result);
        }
Exemplo n.º 3
0
        public override UploadResult ShortenURL(string url)
        {
            UploadResult result = new UploadResult {
                URL = url
            };

            FirebaseRequest request = new FirebaseRequest
            {
                dynamicLinkInfo = new DynamicLinkInfo
                {
                    dynamicLinkDomain = DynamicLinkDomain,
                    link = url
                }
            };

            string requesturl = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks";

            Dictionary <string, string> args = new Dictionary <string, string>
            {
                { "key", WebAPIKey }
            };

            if (IsShort)
            {
                request.suffix = new Suffix
                {
                    option = "SHORT"
                };
            }

            string requestjson = JsonConvert.SerializeObject(request);

            result.Response     = SendRequest(HttpMethod.POST, requesturl, requestjson, ContentTypeJSON, args);
            result.ShortenedURL = JsonConvert.DeserializeObject <FirebaseResponse>(result.Response).shortLink;

            return(result);
        }