Exemple #1
0
        public string CreatePublicURL(string path, CopyURLType urlType = CopyURLType.Default)
        {
            path = path.Trim('/');

            string url = URLHelpers.CombineURL(URLLinks, URLHelpers.URLEncode(path, true));

            string query = OAuthManager.GenerateQuery(url, null, HttpMethod.POST, AuthInfo);

            CopyLinkRequest publicLink = new CopyLinkRequest();

            publicLink.@public = true;
            publicLink.name    = "ShareX";
            publicLink.paths   = new string[] { path };

            string content = JsonConvert.SerializeObject(publicLink);

            string response = SendRequest(HttpMethod.POST, query, content, headers: APIHeaders);

            if (!string.IsNullOrEmpty(response))
            {
                CopyLinksInfo link = JsonConvert.DeserializeObject <CopyLinksInfo>(response);

                return(GetLinkURL(link, path, urlType));
            }

            return("");
        }
Exemple #2
0
        public string GetLinkURL(CopyLinksInfo link, string path, CopyURLType urlType = CopyURLType.Default)
        {
            string filename = URLHelpers.URLEncode(URLHelpers.GetFileName(path));

            switch (urlType)
            {
            default:
            case CopyURLType.Default:
                return(string.Format("https://www.copy.com/s/{0}/{1}", link.id, filename));

            case CopyURLType.Shortened:
                return(string.Format("https://copy.com/{0}", link.id));

            case CopyURLType.Direct:
                return(string.Format("https://copy.com/{0}/{1}", link.id, filename));
            }
        }
Exemple #3
0
        public string GetLinkURL(CopyLinksInfo link, string path, CopyURLType urlType = CopyURLType.Default)
        {
            string filename = URLHelpers.URLEncode(URLHelpers.GetFileName(path));

            switch (urlType)
            {
                default:
                case CopyURLType.Default:
                    return string.Format("https://www.copy.com/s/{0}/{1}", link.id, filename);
                case CopyURLType.Shortened:
                    return string.Format("https://copy.com/{0}", link.id);
                case CopyURLType.Direct:
                    return string.Format("https://copy.com/{0}/{1}", link.id, filename);
            }
        }