Crates.io | google-search-console-api |
lib.rs | google-search-console-api |
version | 0.1.1 |
source | src |
created_at | 2023-03-06 02:57:04.325685 |
updated_at | 2024-07-22 21:44:52.800292 |
description | SearchConsoleApi |
homepage | |
repository | https://github.com/uiuifree/rust-google-search-console-api |
max_upload_size | |
id | 802003 |
size | 35,706 |
Search Console Api
https://developers.google.com/webmaster-tools/v1/api_reference_index
[dependencies]
google-search-console-api="0.1"
Using yup_oauth2
async fn token() -> AccessToken {
// 認証
let secret = yup_oauth2::read_service_account_key("./test.json")
.await
.expect("test.json");
let auth = yup_oauth2::ServiceAccountAuthenticator::builder(secret).build().await.unwrap();
let scopes = &["https://www.googleapis.com/auth/webmasters"];
let token = auth.token(scopes).await;
assert!(token.is_ok(), "{}", token.err().unwrap().to_string());
token.unwrap()
}
let token = token().await;
#[tokio::test]
async fn test_sitemaps() {
let test_site = "https://example.com/";
let token = test_token().await;
println!("{:?}",token);
let res = SearchConsoleApi::sitemaps().submit(token.as_str(),test_site,"https://example.com/sitemap/static.xml").await;
assert!(res.is_ok(),"{:?}",res.err().unwrap().to_string());
let res = SearchConsoleApi::sitemaps().list(token.as_str(),test_site).await;
assert!(res.is_ok(),"{:?}",res.err());
let sitemap =res.unwrap();
assert_ne!(sitemap.sitemap.len(),0);
for row in sitemap.sitemap{
let path = row.path.unwrap_or_default();
let res = SearchConsoleApi::sitemaps().get(token.as_str(),test_site,path.as_str()).await;
assert!(res.is_ok(),"{:?}",res.err());
println!("{:?}",res.unwrap())
}
let res = SearchConsoleApi::sitemaps().delete(token.as_str(),test_site,"https://example.com/sitemap/static.xml").await;
assert!(res.is_ok(),"{:?}",res.err());
}