2 releases
0.1.1 | Jul 22, 2024 |
---|---|
0.1.0 | Mar 6, 2023 |
#595 in Web programming
30KB
709 lines
features
Search Console Api
https://developers.google.com/webmaster-tools/v1/api_reference_index
Using
[dependencies]
google-search-console-api="0.1"
Token
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()
}
runReport
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());
}
Dependencies
~4–15MB
~220K SLoC