Action Required: Set up API Keys

2,820 views
Skip to first unread message

Jói Sigurðsson

unread,
Sep 18, 2012, 4:00:38 PM9/18/12
to Chromium-dev
[ If you never build Chromium, you can skip this email ]

Hey Chromium Devs -

Starting with M23, Chrome and Chromium are going to be using API keys
to access the Google APIs that it relies on for various features, to
help us better understand and manage the traffic our APIs get from
various clients.

As a result of these changes, each developer now needs to acquire a
set of API keys from the Google APIs Console and follow the
instructions at http://www.chromium.org/developers/how-tos/api-keys to
provide those keys to Chromium, either at build configuration or
runtime.

Starting with M23 over the next few weeks APIs will be restricting or
removing support for unkeyed requests, so unless you have set up your
API keys some of the functionality of Chromium (e.g. “Sign into
Chromium …”) may stop working altogether.

Build instructions on http://www.chromium.org have been updated to
include this new build step. If you have any further questions or
concerns, please feel free to reach out.

Cheers,
Jói

James Robinson

unread,
Sep 18, 2012, 4:04:49 PM9/18/12
to j...@chromium.org, Chromium-dev
On Tue, Sep 18, 2012 at 1:00 PM, Jói Sigurðsson <j...@chromium.org> wrote:
[ If you never build Chromium, you can skip this email ]

Hey Chromium Devs -

Starting with M23, Chrome and Chromium are going to be using API keys
to access the Google APIs that it relies on for various features, to
help us better understand and manage the traffic our APIs get from
various clients.

What features?  If I'm working on layout, graphics, performance etc why would I care about if these features work or not?

- James
 

As a result of these changes, each developer now needs to acquire a
set of API keys from the Google APIs Console and follow the
instructions at http://www.chromium.org/developers/how-tos/api-keys to
provide those keys to Chromium, either at build configuration or
runtime.

Starting with M23 over the next few weeks APIs will be restricting or
removing support for unkeyed requests, so unless you have set up your
API keys some of the functionality of Chromium (e.g. “Sign into
Chromium …”) may stop working altogether.

Build instructions on http://www.chromium.org have been updated to
include this new build step. If you have any further questions or
concerns, please feel free to reach out.

Cheers,
Jói

--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
    http://groups.google.com/a/chromium.org/group/chromium-dev

Scott Hess

unread,
Sep 18, 2012, 4:08:30 PM9/18/12
to j...@chromium.org, Chromium-dev
This makes me unhappy. It's already hard enough to figure out whether
I'm correctly replicating a user's environment when I'm trying to
debug their problem, now I can be even more certain that I'm not
running the same product they are.

-scott


On Tue, Sep 18, 2012 at 1:00 PM, Jói Sigurðsson <j...@chromium.org> wrote:

Jói Sigurðsson

unread,
Sep 18, 2012, 4:08:21 PM9/18/12
to James Robinson, Chromium-dev
Hi James,

You can leave the keys unset and everything except features that rely on API keys will work.  At some point there may be a warning at either [ gclient sync ] or compile time, but the idea is to never make it an error to not set keys, since there are lots of developers who only work on unrelated features such as the ones you mentioned.

Cheers,
Jói

Paweł Hajdan, Jr.

unread,
Sep 19, 2012, 3:26:14 AM9/19/12
to j...@chromium.org, Chromium-dev
On Tue, Sep 18, 2012 at 10:00 PM, Jói Sigurðsson <j...@chromium.org> wrote:
Starting with M23, Chrome and Chromium are going to be using API keys
to access the Google APIs that it relies on for various features, to
help us better understand and manage the traffic our APIs get from
various clients.

As a result of these changes, each developer now needs to acquire a
set of API keys from the Google APIs Console and follow the
instructions at http://www.chromium.org/developers/how-tos/api-keys to
provide those keys to Chromium, either at build configuration or
runtime.

What about Linux distros that compile Chromium code from source? It seems only Chromium developers can get the keys - is that correct?

What is the recommended procedure for providing users the API keys? Should each user get his own key? The procedure is not really user-friendly, it's rather developer-oriented.

Jói Sigurðsson

unread,
Sep 19, 2012, 4:30:21 PM9/19/12
to Paweł Hajdan, Jr., Chromium-dev
> What about Linux distros that compile Chromium code from source? It seems
> only Chromium developers can get the keys - is that correct?

Linux distros can reach out to us to work something out.

> What is the recommended procedure for providing users the API keys? Should
> each user get his own key? The procedure is not really user-friendly, it's
> rather developer-oriented.

We expect most end-users will be using a binary with built-in keys,
such as a Chromium or Google Chrome binary distributed by Google.

Developers and those rare users that use a binary without built-in
keys (or build their own) need to acquire their own keys for personal
and development use as documented at
http://chromium.org/developers/how-tos/api-keys.

Cheers,
Jói

android

unread,
Sep 20, 2012, 6:14:20 AM9/20/12
to chromi...@chromium.org, Paweł Hajdan, Jr.
Linux distros can reach out to us to work something out.

Hi, I produce an end-user binary that I'd like to get an api-key for. Could you give me details on how to do this..? The details linked to previously only cover producing developer api-keys which are restricted on usage and the terms-of-use.

Also, you mention that M23 will be restricting use to features without an api-key. Can you give more details about how that restriction will be enforced? The reason I ask is because M21, M22 and M23 all currently use the same sync "protocol_version" (31) so there is no way to tell those versions of Chrome apart. Unless you are using the user-agent sent in the header..? In which case my user agent won't look like a chrome version - is that an issue? Or are you looking for the existence of other fields in the messages such as the new BagOfChips..?

Paweł Hajdan, Jr.

unread,
Sep 21, 2012, 9:40:58 AM9/21/12
to Jói Sigurðsson, Chromium-dev
On Wed, Sep 19, 2012 at 10:30 PM, Jói Sigurðsson <j...@chromium.org> wrote:
> What about Linux distros that compile Chromium code from source? It seems
> only Chromium developers can get the keys - is that correct?

Linux distros can reach out to us to work something out.

I'm doing the packaging on Gentoo Linux, so I'm directly interested in the details. Note that Gentoo is a source-based distro, which means it can't e.g. hardcode the keys in the binaries because it doesn't distributes binaries, only "recipes" (ebuilds) how to build them.

Elliot Glaysher (Chromium)

unread,
Sep 21, 2012, 12:04:15 PM9/21/12
to j...@chromium.org, Chromium-dev, Paweł Hajdan, Jr.

Could you please make a document that instructs people on how to obtain keys if you are a Linux distro?

Jói Sigurðsson

unread,
Sep 22, 2012, 7:32:31 AM9/22/12
to Mark Pearson, Chromium-dev
Mark Pearson sent me this question, and suggested the answer might be
worth sending to the whole group:
> I followed the instructions and believe I have things configured right. How
> do I check that my builds are actually running with the right keys?

In a debug build, the keys being used will be logged the first time
you invoke a feature that needs one of the keys, if you run with these
flags: --enable-logging --v=1

To see the keys being used in your build, do this:
a) Build a debug build of Chromium
b) Run the binary with --enable-logging --v=1
c) Perform an action that requires keys. I find it simplest to go to
the wrench menu and click "Sign into Chromium..." and then provide
bogus credentials to sign in (alternatively, as an additional
verification, provide real credentials, and your log-in should
succeed).
d) Shut down Chromium.
e) Look for the chrome_debug.log file (e.g. on Linux, it would be
under src/out/Debug/chrome_debug.log) and find lines containing "API
key" in them. They will be of the form "API key GOOGLE_API_KEY=[key
you specified in include.gypi]".

Cheers,
Jói



On Fri, Sep 21, 2012 at 8:35 PM, Mark Pearson <mpea...@chromium.org> wrote:
> I followed the instructions and believe I have things configured right. How
> do I check that my builds are actually running with the right keys?
>
> --mark
>
> P.S. This reply may deserve to be sent to the group.
>
>>
>>
>> Cheers,
>> Jói

android

unread,
Sep 23, 2012, 7:58:19 AM9/23/12
to chromi...@chromium.org, Mark Pearson
Thanks Jói, but I'm not sure it answers some of the remaining questions above...?

Specifically, can you explain how we can get hold of an api-key for an end-user binary/Linux distro..?

Please let us know if this is documented somewhere, or if we should be registering our needs somewhere else..?

Jói Sigurðsson

unread,
Jan 29, 2013, 12:56:35 PM1/29/13
to Chromium-dev
[ If you never build Chromium, you can skip this email ]

Hi again Chromium developers,

Heads up: If you haven't already installed developer keys as per
http://www.chromium.org/developers/how-tos/api-keys, now is the time
to do so.

Back when this was originally announced (see below), we kept temporary
unofficial high-quota keys as default keys in the source tree, that
kept you from experiencing errors if you hadn't installed keys. A
change is going in later today that removes those temporary keys, so
you may start experiencing problems with your locally-built Chromium
build using certain Google services if you haven't installed keys.

If you have questions, feel free to reach out to me directly.

Cheers,
Jói

android

unread,
Jan 30, 2013, 8:58:42 AM1/30/13
to chromi...@chromium.org

Hi Jói - any news on how to obtain keys for an end-user binary..?

My app has thousands of users so I need a key that will be valid for all of them.

Let me know if I can give you any more info..?

Thanks!
Message has been deleted
Message has been deleted

Jói Sigurðsson

unread,
Jun 19, 2013, 5:42:05 AM6/19/13
to gre...@gmail.com, Chromium-dev
Hi Grey,

For details on acceptable use, please see the Terms of Service and note that there are addenda that are carried by each API.

On a practical note, the courtesy limits provided for some of the APIs are quite low.

Cheers,
Jói



On Wed, Jun 12, 2013 at 6:28 PM, <gre...@gmail.com> wrote:
Hi all,

    I trust that this is the right place for such a query.
    I routinely build Chromium for my own use, usually every week or two, and package it for *buntu distros. As I said, the packages are for my own use (mostly), but I also distribute these builds to a couple of friends who have similar setups (Xubuntu and Linux Mint, for example).
    My question is, then: if I bake API keys into my own build, detailed through the "API Keys" HOWTO, am I allowed to distribute such builds to my friends, or is this not allowed? I apologize if this is a stupid question, but I wasn't clear about this from the HOWTO. I understand that the keys themselves must not be distributed, but are builds made with them allowed to be distributed in such a limited manner?

Thanks very much in advance.
Grey

--
Reply all
Reply to author
Forward
0 new messages