7

Google Drive'ı kullanarak Google Drive'da bir e-tablo oluşturmak için kullanıyorum.google API "hizmet hesabı" adı/e-posta adresi nasıl değiştirilir

  • Uygulamam
  • app 'Google Doc için İndir' kullanıcı ile dokümanlar ve paylaşır google dosya gönderen yazan bir bağlantı vardır.
  • Kullanıcı daha sonra Google Dokümanlar'da görebilir.

Bu her şey iyi çalışıyor.

Sorun, dokümanı paylaşan hizmet hesabının kimliğidir. Oluşturulan bir kimliktir. Uygulamamın markalı olmasını istiyorum.

Bu mümkün mü? -

It is this random number. I want it to be branded. Is this possible?

+0

Bir proje ile ilişkili API'yi google hesabında mı kullanıyorsunuz? Kimlik ve proje arasında ortak bir şey var mı? –

+0

Bunu değiştiremezsiniz, hizmet hesabı e-posta adresi Google tarafından oluşturulduysa, ona bağlı kaldınız. Hayır, aynı zamanda kendiniz tedarik edemezsiniz, Google tarafından üretilmiş olması gerekir. – DaImTo

+0

@DaImTo Bu yorumu cevap olarak yazalım ve size bir çek göndereceğim! –

cevap

5

hizmet hesap e-posta adresini değiştiremezsiniz, ne de buna gerçek bir dünya kullanıcı adı sağlayabilmektedir. service account e-posta adresi Google tarafından Google Developer console'da oluşturulmuştur.

enter image description here

silin ve yeni bir tane oluşturun Ancak yine de düzenlendi biri Google ile tutulmak olacaktır e-posta adresini değiştirmenin tek yolu. İstemci kimliği ve e-posta adresinin uygulamanızın tanımlanması için kullanılan bir çift olduğundan şüpheleniyorum. İstemci kimliği ve istemci sırrı gibi, ancak bunu doğrulayamıyorum.

Anlayabiliyorsan, senin için iyi olur.

1

Google Hizmet Hesapları, varolan bir kullanıcı hesabının kimliğine bürünmenizi sağlar (bazı servisler için). Google Drive'da test etmedim, ancak bunu Web Yöneticisi araçları API'sı ile kullanmıştım. Talimatlar şu adreste bulunabilir: https://developers.google.com/identity/protocols/OAuth2ServiceAccount

Bunları özetlemek gerekirse, servis hesabı kimlik bilgilerini oluştururken "alt" parametresini "Uygulamanın temsilci erişimi talep ettiği kullanıcının e-posta adresi" ile belirtebilirsiniz. Erişim isteğinde bulunduğunuz hesap mevcut olmalı ve talep ettiğiniz hizmetlere erişim iznine sahip olmalıdır. Google Java, Python ve HTTP/REST örnekleri sağlar yukarıdaki linkte

, burada Python örnek:

credentials = SignedJwtAssertionCredentials(client_email, private_key, 
'https://www.googleapis.com/auth/sqlservice.admin', 
sub='[email protected]') 

Ben Ruby google-api-müşteri mücevher (0.9.pre3) kullanıyorum ve benim hizmet hesabını kullanarak kimlik doğrulaması için bu kodu kullanabilirsiniz

client = Google::Auth::ServiceAccountCredentials.new(json_key_io: json_key_io, scope: scope) 
client.update!(sub: '[email protected]') 
client.fetch_access_token! 
service = Google::Apis::WebmastersV3::WebmastersService.new 
service.authorization = client 

ve ben sitelere

erişebilir: başka adımda belirtilen zorundadır böylece ServiceAccountCredentials yapıcısı, üst sınıfa 'alt' parametresini geçmez
İlgili konular