public SitesEntry VerifySite(string url, SitesEntry entry = null) { if (entry == null) { entry = GetSite(url); } VerificationMethod method = new VerificationMethod("metatag", "true"); var siteid = CreateSiteID(url); entry.VerificationMethod = method; var category = new AtomCategory("http://schemas.google.com/webmasters/tools/2007#site-info", "http://schemas.google.com/g/2005#kind"); entry.Categories.Add(category); entry.Id = new AtomId(string.Concat(SiteQueryUrl, siteid)); entry.Content.Type = ""; try { return(service.Update(entry)); } catch (Exception ex) { Syslog.Write(ex); } return(null); }
public void UpdateGeolocation() { WebmasterToolsService service = new WebmasterToolsService(this.ApplicationName); service.Credentials = new GDataCredentials(this.userName, this.passWord); try { SitesQuery q = new SitesQuery(); SitesFeed sf = service.Query(q); SitesEntry entry = new SitesEntry(); string siteUrl = "http://www.example.dk/"; entry.Content.Src = siteUrl; entry.Content.Type = "text/plain"; SitesEntry newEntry = service.Insert(new Uri(SitesQuery.HttpsFeedUrl), entry); newEntry.GeoLocation = "US"; SitesEntry updatedEntry = newEntry.Update(); Assert.IsTrue(updatedEntry != null); Assert.IsTrue(updatedEntry.GeoLocation == "US"); } finally { Uri deleteUrl = SitesQuery.CreateCustomUri("http://www.example.dk"); service.Delete(deleteUrl, null); } }
/// <summary> /// updates a site entry /// </summary> /// <param name="entry">the entry to update</param> /// <param name="siteId">the id of the site</param> /// <returns>the updated site entry</returns> public Sites UpdateSiteEntry(Sites entry, string siteId) { Sites sites = null; if (entry != null) { Uri target = CreateUri(SitesQuery.CreateCustomUri(siteId).AbsoluteUri); entry.AtomEntry.EditUri = target; SitesEntry se = this.Service.Update(entry.SitesEntry); if (se != null) { sites = new Sites(); sites.AtomEntry = se; } } return(sites); }
private SitesEntry GetSite(string url) { var siteid = CreateSiteID(url); var query = new SitesQuery(string.Concat(SiteQueryUrl, siteid)); SitesEntry entry = null; try { var result = service.Query(query); if (result.Entries.Count == 0) { return(null); } entry = (SitesEntry)result.Entries[0]; } catch (Exception ex) { Syslog.Write(ex); } return(entry); }
public void InsertSite() { WebmasterToolsService service = new WebmasterToolsService(this.ApplicationName); service.Credentials = new GDataCredentials(this.userName, this.passWord); SitesQuery feedQuery = new SitesQuery(); SitesFeed beforeFeed = service.Query(feedQuery); int before = beforeFeed.Entries.Count; SitesEntry entry = new SitesEntry(); string siteUrl = "http://www.example.com/"; entry.Content.Src = siteUrl; entry.Content.Type = "text/plain"; service.Insert(new Uri(SitesQuery.HttpsFeedUrl), entry); SitesFeed afterFeed = service.Query(feedQuery); int after = afterFeed.Entries.Count; Assert.Greater(after, before); }
public ActionResult Settings(bool storeEnabled, string motd, string storeName, string facebookCoupon) { MASTERdomain.organisation.motd = motd; MASTERdomain.storeName = storeName; // website verificaiton bool verifySite = false; Webmaster webmaster = null; SitesEntry site = null; // store if (storeEnabled) { // check that payment methods have been configured var paymentmethods = new PaymentMethodList(); paymentmethods.Initialise(MASTERdomain, false); if (paymentmethods.count == 0) { return(Json("You need to specify your paypal id and/or a payment method before you can enable your store. <a href='/dashboard/account#account_payment'>Setup payment methods</a>".ToJsonFail())); } // don't allow store to be enabled if (MASTERdomain.trialExpired) { return(Json("Store cannot be made public. Your trial period has expired.".ToJsonFail())); } // only register the following with google if store not already enabled if (!IsStoreEnabled) { MASTERdomain.flags |= (int)SubdomainFlags.STORE_ENABLED; #if !DEBUG // update info to google webmaster webmaster = new Webmaster(); var url = accountHostname.ToDomainUrl("", true); site = webmaster.AddSite(url); if (site != null) { var metaTag = site.VerificationMethod.Value; MASTERdomain.metaTagVerification = metaTag; verifySite = true; } #endif } } else { MASTERdomain.flags &= ~(int)SubdomainFlags.STORE_ENABLED; } // handle facebook coupon if (!string.IsNullOrEmpty(facebookCoupon)) { var coupon = repository.GetCoupons(subdomainid.Value).SingleOrDefault(x => x.code == facebookCoupon && !x.expired); if (coupon != null) { MASTERdomain.facebookCoupon = coupon.id; } } else { MASTERdomain.facebookCoupon = null; } repository.Save(); // SUBMIT // need to be done here so that metatag is saved and then can be shown at store page if (verifySite) { var url = accountHostname.ToDomainUrl("", true); // verify site webmaster.VerifySite(url, site); // add sitemap new Thread(() => { var sitemap = string.Concat(url, "google/sitemap"); webmaster.AddSitemap(url, sitemap); }).Start(); } CacheHelper.Instance.invalidate_dependency(DependencyType.organisation, subdomainid.Value.ToString()); return(Json(OPERATION_SUCCESSFUL.ToJsonOKData())); }