Questions tagged [google-cloud-api-gateway]

API Gateway enables you to provide secure access to your backend services through a well-defined REST API that is consistent across all of your services, regardless of the service implementation.

With API Gateway, you can create, secure, and monitor APIs for Google Cloud serverless back ends, including Cloud Functions, Cloud Run, and App Engine. Built on Envoy, API Gateway gives you high performance, scalability, and the freedom to focus on building great apps.

Documentation page for API Gateway.

129 questions
3
votes
2 answers

GCP API Gateway to Cloud Functions default service account authentication: "Your client does not have permission to the requested URL""

I'm trying to use API Gateway in front of Cloud Functions, but getting a 401 response when the Cloud Functions are not publicly accessible. I set the Gateway to use the default AppEngine service account identity…
3
votes
1 answer

GCP: ERROR: (gcloud.services.enable) PERMISSION_DENIED: The caller does not have permission when enabling API

I am trying to use API Gateway, and I am not able to enable the apigateway.googleapis.com API. It is not shown in gcloud services list. I am trying to follow the instruction of gcp doc.…
2
votes
0 answers

GCP API Gateway - Cannot convert to service config with parameter in url path

The problem I am getting my yaml file rejected by the GCP API Gateway. According to the docs here my path of /address/state/{state_id}/counties is a perfectly valid url, but I am getting this…
2
votes
0 answers

Android application Apple sign-in failed with API_KEY_ANDROID_APP_BLOCKED Error

I have implanted Apple sign-in as a social login sign-in option to an Android application on mine. When I try the feature web view displays the following error. { "error": { "code": 403, "message": "Requests from this Android client…
2
votes
0 answers

How to resolve GCP API gateway error 500?

My request flow is : 1.HTTP python client (a script) => 2. GCP API gateway => 3. validate request against firebase => 4. if request valid call cloud function v2 (cloud run) Python script is generating ID token from refresh token by using…
2
votes
0 answers

GCP API Gateway : Authentication of already logged in Google Users

Our API gateway exposes a URL endpoint to load images etc. from a Cloud Run backend service. This URL endpoint is used by a user interface secured by Google's Identity Aware Proxy (IAP). Therefore, all requests to the URL endpoint come from already…
2
votes
1 answer

How to deploy GCP API Gateway Config with terraform when using wildcards in paths

I am trying to deploy a GCP API Gateway config with terraform. The OpenAPI document is defined inside the tf file, since I need to use variables for the backend URLs. When I use wildcards in my paths (/devices/{deviceID}), the deployment produces an…
2
votes
0 answers

How to authenticate external tenant applications to access multi-tenant GCP Cloud Run application

Background: We are developing a multi-tenant application in Google Cloud Platform (GCP). Identity Platform setup with multi-tenancy is working great for end-users which are authenticated by Google Cloud API Gateway, using firebase. All requests to…
2
votes
0 answers

API Gateway modifies backendRequest hostname to be "backend-cluster-dev.equipment.example.com:443" instead of just "dev.equipment.example.com:443"

Can't understand why API Gateway prepends the hostname with "backend-cluster" prefix. The log of the gateway on the request looks like below: { httpRequest: { latency: "0.113s" protocol: "HTTP/1.1" remoteIp:…
2
votes
1 answer

GCP API Gateway: Path parameters are being passed as query params

I'm trying to use GCP API Gateway to create a single endpoint for a couple of my backend services (A,B,C,D), each with their own path structure. I have the Gateway configured for one of the services as follows: swagger: '2.0' info: title: …</div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/api" class="post-tag grid--cell" title="show questions tagged 'api'" rel="tag">api</a> <a href="../../questions/tagged/google-cloud-platform" class="post-tag grid--cell" title="show questions tagged 'google-cloud-platform'" rel="tag">google-cloud-platform</a> <a href="../../questions/tagged/api-gateway" class="post-tag grid--cell" title="show questions tagged 'api-gateway'" rel="tag">api-gateway</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> <a href="../../questions/tagged/google-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-api-gateway'" rel="tag">google-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Sep 22 '21 at 04:20">asked Sep 22 '21 at 04:20</time> <a href="../../users/6653295/nissan" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/6653295.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Nissan " /> </a> <div class="s-user-card--info"> <a href="../../users/6653295/nissan" class="s-user-card--link">Nissan </a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">466</li> <li class="s-award-bling s-award-bling__gold" title="1 gold badge">1</li> <li class="s-award-bling s-award-bling__silver" title="4 silver badge">4</li> <li class="s-award-bling s-award-bling__bronze" title="12 bronze badge">12</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="mln24"> <div class="question-summary" id="question-summary-67294921"> <div class="statscontainer"> <div class="stats"> <div class="vote"> <div class="votes"> <span class="vote-count-post"><strong>2</strong></span> <div class="viewcount">votes</div> </div> </div> <div class="status "> <strong>1</strong> answer </div> </div> </div> <div class="summary"> <h3><a href="../../questions/67294921/google-cloud-vision-api-samplesfor-ruby" class="question-hyperlink">Google cloud vision API samplesfor ruby</a></h3> <div class="excerpt">I am using google-cloud-ruby client library, I don't see any samples related to current implementation of google cloud vision API. From where should I look out code samples of google cloud vision API for ruby client library. </div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/ruby" class="post-tag grid--cell" title="show questions tagged 'ruby'" rel="tag">ruby</a> <a href="../../questions/tagged/google-cloud-vision" class="post-tag grid--cell" title="show questions tagged 'google-cloud-vision'" rel="tag">google-cloud-vision</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Apr 28 '21 at 06:35">asked Apr 28 '21 at 06:35</time> <a href="../../users/2356880/pez" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/2356880.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Pez" /> </a> <div class="s-user-card--info"> <a href="../../users/2356880/pez" class="s-user-card--link">Pez</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">1,091</li> <li class="s-award-bling s-award-bling__gold" title="2 gold badges">2</li> <li class="s-award-bling s-award-bling__silver" title="14 silver badges">14</li> <li class="s-award-bling s-award-bling__bronze" title="34 bronze badges">34</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="mln24"> <div class="question-summary" id="question-summary-66726184"> <div class="statscontainer"> <div class="stats"> <div class="vote"> <div class="votes"> <span class="vote-count-post"><strong>2</strong></span> <div class="viewcount">votes</div> </div> </div> <div class="status answered-accepted"> <strong>1</strong> answer </div> </div> </div> <div class="summary"> <h3><a href="../../questions/66726184/google-cloud-api-gateway-message-no-healthy-upstream-code-503" class="question-hyperlink">Google Cloud Api Gateway - {"message":"no healthy upstream","code":503}</a></h3> <div class="excerpt">I am building an api that is hosted on App Engine Standard (Python). I have test it with curl and I was able to make a successfully post request: curl --header "Content-Type: application/json" \ --request POST \ --data…</div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/google-app-engine" class="post-tag grid--cell" title="show questions tagged 'google-app-engine'" rel="tag">google-app-engine</a> <a href="../../questions/tagged/google-cloud-platform" class="post-tag grid--cell" title="show questions tagged 'google-cloud-platform'" rel="tag">google-cloud-platform</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Mar 20 '21 at 20:29">asked Mar 20 '21 at 20:29</time> <a href="../../users/11928099/marian-vladoi" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/11928099.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="marian.vladoi" /> </a> <div class="s-user-card--info"> <a href="../../users/11928099/marian-vladoi" class="s-user-card--link">marian.vladoi</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">7,663</li> <li class="s-award-bling s-award-bling__gold" title="1 gold badge">1</li> <li class="s-award-bling s-award-bling__silver" title="15 silver badge">15</li> <li class="s-award-bling s-award-bling__bronze" title="29 bronze badge">29</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="mln24"> <div class="question-summary" id="question-summary-66488455"> <div class="statscontainer"> <div class="stats"> <div class="vote"> <div class="votes"> <span class="vote-count-post"><strong>2</strong></span> <div class="viewcount">votes</div> </div> </div> <div class="status "> <strong>0</strong> answers </div> </div> </div> <div class="summary"> <h3><a href="../../questions/66488455/secure-app-engine-backend-with-gcp-api-gateway-and-firebase-auth" class="question-hyperlink">Secure App-Engine Backend with GCP API-Gateway and Firebase Auth</a></h3> <div class="excerpt">My purpose is to secure my backend, which is deployed as GCP App Engine, with an API-Gateway, provided by Google, to only let Firebase authenticated users have access to it. I set everything up, as stated in the documents: API-Gateway config: { …</div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/firebase" class="post-tag grid--cell" title="show questions tagged 'firebase'" rel="tag">firebase</a> <a href="../../questions/tagged/google-cloud-platform" class="post-tag grid--cell" title="show questions tagged 'google-cloud-platform'" rel="tag">google-cloud-platform</a> <a href="../../questions/tagged/firebase-authentication" class="post-tag grid--cell" title="show questions tagged 'firebase-authentication'" rel="tag">firebase-authentication</a> <a href="../../questions/tagged/jwt" class="post-tag grid--cell" title="show questions tagged 'jwt'" rel="tag">jwt</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Mar 05 '21 at 07:31">asked Mar 05 '21 at 07:31</time> <a href="../../users/9102464/r-schaefer" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/9102464.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="R.Schaefer" /> </a> <div class="s-user-card--info"> <a href="../../users/9102464/r-schaefer" class="s-user-card--link">R.Schaefer</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">123</li> <li class="s-award-bling s-award-bling__silver" title="1 silver badges">1</li> <li class="s-award-bling s-award-bling__bronze" title="9 bronze badges">9</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="mln24"> <div class="question-summary" id="question-summary-65861166"> <div class="statscontainer"> <div class="stats"> <div class="vote"> <div class="votes"> <span class="vote-count-post"><strong>2</strong></span> <div class="viewcount">votes</div> </div> </div> <div class="status answered-accepted"> <strong>1</strong> answer </div> </div> </div> <div class="summary"> <h3><a href="../../questions/65861166/mapping-custom-domain-to-gcp-api-gateway" class="question-hyperlink">Mapping custom domain to GCP API Gateway</a></h3> <div class="excerpt">I've set up an api using GCP API Gateway to map api calls to multiple Cloud Run services but now I need to point a custom domain to the API gateway. I see that there's no option to do so like in Cloud Run and I also tried setting a CNAME record…</div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/google-cloud-platform" class="post-tag grid--cell" title="show questions tagged 'google-cloud-platform'" rel="tag">google-cloud-platform</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Jan 23 '21 at 15:49">asked Jan 23 '21 at 15:49</time> <a href="../../users/7868630/thiago-nascimento" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/7868630.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="Thiago Nascimento" /> </a> <div class="s-user-card--info"> <a href="../../users/7868630/thiago-nascimento" class="s-user-card--link">Thiago Nascimento</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">1,073</li> <li class="s-award-bling s-award-bling__gold" title="2 gold badges">2</li> <li class="s-award-bling s-award-bling__silver" title="13 silver badges">13</li> <li class="s-award-bling s-award-bling__bronze" title="40 bronze badges">40</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="mln24"> <div class="question-summary" id="question-summary-76686280"> <div class="statscontainer"> <div class="stats"> <div class="vote"> <div class="votes"> <span class="vote-count-post"><strong>1</strong></span> <div class="viewcount">vote</div> </div> </div> <div class="status "> <strong>0</strong> answers </div> </div> </div> <div class="summary"> <h3><a href="../../questions/76686280/gcp-api-gateway-do-unauthenticated-calls-count-towards-usage-for-billing" class="question-hyperlink">GCP API Gateway: Do unauthenticated calls count towards usage for billing</a></h3> <div class="excerpt">I have setup a simple API on API Gateway and restricted access to it via API Keys. Now, if a user calls the API with a missing/invalid key, would that count towards billing (https://cloud.google.com/api-gateway/pricing)? In the console dashboards, I…</div> <div class="grid ai-start jc-space-between fw-wrap"> <div class="grid gs4 fw-wrap tags "> <a href="../../questions/tagged/google-cloud-platform" class="post-tag grid--cell" title="show questions tagged 'google-cloud-platform'" rel="tag">google-cloud-platform</a> <a href="../../questions/tagged/google-cloud-api-gateway" class="post-tag grid--cell" title="show questions tagged 'google-cloud-api-gateway'" rel="tag">google-cloud-api-gateway</a> </div> <div class="started mt0"> <div class="s-user-card s-user-card"> <time class="s-user-card--time" datetime="asked Jul 14 '23 at 09:09">asked Jul 14 '23 at 09:09</time> <a href="../../users/11981729/oc-dev" class="s-avatar s-avatar__32 s-user-card--avatar"> <img class="s-avatar--image" src="../../users/profiles/11981729.webp" data-jdenticon-width="32" data-jdenticon-height="32" data-jdenticon-value="OC_dev" /> </a> <div class="s-user-card--info"> <a href="../../users/11981729/oc-dev" class="s-user-card--link">OC_dev</a> <ul class="s-user-card--awards"> <li class="s-user-card--rep" title="reputation score">81</li> <li class="s-award-bling s-award-bling__bronze" title="4 bronze badges">4</li> </ul> </div> </div> </div> </div> </div> </div> </div> <div class="s-pagination pager fr"> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=1" rel="prev" title="Go to page 1">Prev </a> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=1" rel="" title="Go to page 1">1</a> <div class="s-pagination--item is-selected">2</div> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=3" rel="" title="Go to page 3">3</a> <div class="s-pagination--item s-pagination--item__clear">…</div> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=8" rel="" title="Go to page 8">8</a> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=9" rel="" title="Go to page 9">9</a> <a class="s-pagination--item" href="../../questions/tagged/google-cloud-api-gateway_page=3" rel="next" title="Go to page 3"> Next</a> </div> </div> </div> </div> </div> <script src="../../static/js/stack-icons.js"></script> <script src="../../static/js/fromnow.js"></script> </body> </html>