1

Я использую follwoign кода представить карту сайта для веб-мастеров инструментыОтправить Карта сайта Использование C#

Google.GData.WebmasterTools.WebmasterToolsService service = 
    new Google.GData.WebmasterTools.WebmasterToolsService("www.test1.com"); 
service.setUserCredentials("email", "password"); 
String lWebsite = "http%3A%2F%2Fwww%2Etest1%2Ecom%2F"; 
query.Uri = new Uri("https://www.google.com/webmasters/tools/feeds/sites/"); 

Google.GData.WebmasterTools.SitemapsEntry se = 
    new Google.GData.WebmasterTools.SitemapsEntry(); 
se.Content.Src = "http://www.test1.com/Sitemap.xml"; 
se.Content.Type = "text/xml"; 
Google.GData.WebmasterTools.SitemapsEntry ret = 
    service.Insert(
     new Uri("https://www.google.com/webmasters/tools/feeds/sites/" + lWebsite + "/sitemaps/"), se); 

но не повезло с этим кодом. может ли кто-нибудь предоставить мне пример кода для отправки карты сайта?

+1

Этот код использует старую библиотеку GData вы должны использовать новую клиентскую библиотеку. Кроме того, вы больше не можете использовать логин для входа в систему (логин и пароль) – DaImTo

ответ

3

код вырванные из Google-webmastertools образца

PM> Install-Package Google.Apis.Webmasters.v3

Authenticate с помощью oauth2:

/// <summary> 
     /// Authenticate to Google Using Oauth2 
     /// Documentation https://developers.google.com/accounts/docs/OAuth2 
     /// </summary> 
     /// <param name="clientId">From Google Developer console https://console.developers.google.com</param> 
     /// <param name="clientSecret">From Google Developer console https://console.developers.google.com</param> 
     /// <param name="userName">A string used to identify a user.</param> 
     /// <returns></returns> 
     public static WebmastersService AuthenticateOauth(string clientId, string clientSecret, string userName) 
     { 

      string[] scopes = new string[] { WebmastersService.Scope.WebmastersReadonly};  // View analytics data 

      try 
      { 
       // here is where we Request the user to give us access, or use the Refresh Token that was previously stored in %AppData% 
       UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret } 
                          , scopes 
                          , userName 
                          , CancellationToken.None 
                          , new FileDataStore("Daimto.GoogleWebMasters.Auth.Store")).Result; 

       WebmastersService service = new WebmastersService(new BaseClientService.Initializer() 
       { 
        HttpClientInitializer = credential, 
        ApplicationName = "WebMasters API Sample", 
       }); 
       return service; 
      } 
      catch (Exception ex) 
      { 

       Console.WriteLine(ex.InnerException); 
       return null; 

      } 

     } 

метод аутентификации вызовов

string CLIENT_ID = "xxx-d0vpdthl4ms0soutcrpe036ckqn7rfpn.apps.googleusercontent.com"; 
      string CLIENT_SECRET = "NDmluNfTgUk6wgmy7cFo64RV"; 
      var service = AuthenticateOauth(CLIENT_ID, CLIENT_SECRET, "TEST"); 

Fetch данные

var x = service.Urlcrawlerrorscounts.Query(site).Execute(); 

sample project имеет несколько вспомогательных методов для карты сайта, а

+1

Это помогло мне предоставить Sitemap с API Google – hanzolo