Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Search Index get_url_notification_metadata throws ClientError: notFound

Open
#23,176 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
ruby
Domain
api

Research direction

Start by running the supplied Ruby example with the listed google-api-client version and compare the successful publish_url_notification response with the 404 from get_url_notification_metadata. Done means determining whether the metadata request is expected to succeed after publishing or documenting a reproducible client/API defect using the provided logs.

Written by the indexing model from the issue text.

Description

I am trying to use the search indexing api. I got it all setup and can see in the google api metrics page that i was authenticated and send the correct requests. The Problem is even if i update an url and get an 200 i get an error when i try to retrive the informations via get_url_notification_metadata. I dont now if i am doing something wrong, because i havent used this api yet or if there is a bug.

Environment details
  • OS: MacOS 15.4.1 (24E263)
  • Ruby version: ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
  • Gem name and version: google-api-client (0.53.0)
  • Partial gem lock:
google-api-client (0.53.0)
  google-apis-core (~> 0.1)
  google-apis-generator (~> 0.1)
google-apis-core (0.17.0)
  addressable (~> 2.5, >= 2.5.1)
  googleauth (~> 1.9)
  httpclient (>= 2.8.3, < 3.a)
  mini_mime (~> 1.0)
  mutex_m
  representable (~> 3.0)
  retriable (>= 2.0, < 4.a)
google-apis-discovery_v1 (0.20.0)
  google-apis-core (>= 0.15.0, < 2.a)
google-apis-generator (0.17.0)
  activesupport (>= 5.0)
  gems (~> 1.2)
  google-apis-core (>= 0.15.0, < 2.a)
  google-apis-discovery_v1 (~> 0.18)
  thor (>= 0.20, < 2.a)
google-cloud-env (2.3.0)
  base64 (~> 0.2)
  faraday (>= 1.0, < 3.a)
google-logging-utils (0.2.0)
googleauth (1.14.0)
  faraday (>= 1.0, < 3.a)
  google-cloud-env (~> 2.2)
  google-logging-utils (~> 0.1)
  jwt (>= 1.4, < 3.0)
  multi_json (~> 1.11)
  os (>= 0.9, < 2.0)
  signet (>= 0.16, < 2.a)
Steps to reproduce
  1. Use the code below
  2. Change url to where you have access
  3. run
Code example
require 'google/apis/indexing_v3'
require 'googleauth'

scope = 'https://www.googleapis.com/auth/indexing'
index_service = Google::Apis::IndexingV3::IndexingService.new
index_service.authorization = Google::Auth::ServiceAccountCredentials.make_creds(json_key_io: File.open('app/controllers/content-api-key.json'),
                                                                                 scope: scope)
index_service.authorization.fetch_access_token!
url = "https://audiobookdb.net/audiobooks/x2Af9YPJ"
update_request_parameter = Google::Apis::IndexingV3::UrlNotification.new(url: url, type: "URL_UPDATED")
index_service.publish_url_notification(update_request_parameter)

begin
  index_service.get_url_notification_metadata(url: url)
rescue
end
Log
Sending HTTP post https://indexing.googleapis.com/v3/urlNotifications:publish?
200
#<HTTP::Message:0x0000000133e781d0 @http_body=#<HTTP::Message::Body:0x0000000133e78180 @body="{\n" + "  \"urlNotificationMetadata\": {\n" + "    \"url\": \"https://audiobookdb.net/audiobooks/x2Af9YPJ\"\n" + "  }\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x000000013255b378 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["Content-Type", "application/json; charset=UTF-8"], ["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Encoding", "gzip"], ["Date", "Wed, 21 May 2025 07:45:04 GMT"], ["Server", "ESF"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @http_version="1.1", @is_request=false, @reason_phrase="OK", @request_absolute_uri=nil, @request_method="POST", @request_query=nil, @request_uri=#<Addressable::URI:0x6eeb0 URI:https://indexing.googleapis.com/v3/urlNotifications:publish?>, @status_code=200>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=WR2,O=Google Trust Services,C=US>, serial=#<OpenSSL::BN 269188937281416482999652193496082308393>, not_before=2025-04-21 08:41:49 UTC, not_after=2025-07-14 08:41:48 UTC>, @previous=nil>
Success - #<Google::Apis::IndexingV3::PublishUrlNotificationResponse:0x0000000132217478
 @url_notification_metadata=
  #<Google::Apis::IndexingV3::UrlNotificationMetadata:0x0000000132217040
   @url="https://audiobookdb.net/audiobooks/x2Af9YPJ">>

Sending HTTP get https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Faudiobookdb.net%2Faudiobooks%2Fx2Af9YPJ
404
#<HTTP::Message:0x0000000133cbcee0 @http_body=#<HTTP::Message::Body:0x0000000133cbce90 @body="{\n" + "  \"error\": {\n" + "    \"code\": 404,\n" + "    \"message\": \"Requested entity was not found.\",\n" + "    \"errors\": [\n" + "      {\n" + "        \"message\": \"Requested entity was not found.\",\n" + "        \"domain\": \"global\",\n" + "        \"reason\": \"notFound\"\n" + "      }\n" + "    ],\n" + "    \"status\": \"NOT_FOUND\"\n" + "  }\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x00000001324ff0a0 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Type", "application/json; charset=UTF-8"], ["Content-Encoding", "gzip"], ["Date", "Wed, 21 May 2025 07:45:04 GMT"], ["Server", "ESF"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @http_version="1.1", @is_request=false, @reason_phrase="Not Found", @request_absolute_uri=nil, @request_method="GET", @request_query=nil, @request_uri=#<Addressable::URI:0x6eec4 URI:https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Faudiobookdb.net%2Faudiobooks%2Fx2Af9YPJ>, @status_code=404>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=WR2,O=Google Trust Services,C=US>, serial=#<OpenSSL::BN 269188937281416482999652193496082308393>, not_before=2025-04-21 08:41:49 UTC, not_after=2025-07-14 08:41:48 UTC>, @previous=nil>
Caught error notFound: Requested entity was not found.
Error - #<Google::Apis::ClientError: notFound: Requested entity was not found. status_code: 404 header: #<HTTP::Message::Headers:0x00000001324bc638 @http_version="1.1", @body_size=0, @chunked=false, @request_method="GET", @request_uri=#<Addressable::URI:0x6eec4 URI:https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Faudiobookdb.net%2Faudiobooks%2Fx2Af9YPJ>, @request_query=nil, @request_absolute_uri=nil, @status_code=404, @reason_phrase="Not Found", @body_type=nil, @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @is_request=false, @header_item=[["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Type", "application/json; charset=UTF-8"], ["Content-Encoding", "gzip"], ["Date", "Wed, 21 May 2025 07:45:04 GMT"], ["Server", "ESF"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @dumped=false> body: "{\n  \"error\": {\n    \"code\": 404,\n    \"message\": \"Requested entity was not found.\",\n    \"errors\": [\n      {\n        \"message\": \"Requested entity was not found.\",\n        \"domain\": \"global\",\n        \"reason\": \"notFound\"\n      }\n    ],\n    \"status\": \"NOT_FOUND\"\n  }\n}\n">
Api Metric
Image
Dominant language
Ruby
Stars
2.9k
Forks
888
Avg merge
8m
Merged PRs (30d)
241

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from googleapis/google-api-ruby-client

All issues in googleapis/google-api-ruby-client

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.