googleapis / googleapis/google-api-ruby-client

Adsense generate_account_report_csv returns nil due to content_type

Abierto
#18,558 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Ruby
Estrellas
2.9k
Forks
888
Merge medio
6 min
PR fusionados (30 d)
218

Descripción

In Google::Apis::Core::ApiCommand#decode_response_body it checks to see if the content_type starts with JSON_CONTENT_TYPE. The content type comes back as text/csv so it has an explicit return of nil.

```ruby
def decode_response_body(content_type, body)
return super unless response_representation
return super if options && options.skip_deserialization
return super if content_type.nil?

# HERE content_type = "text/csv" when making a generate_account_report_csv request so it returns nil
return nil unless content_type.start_with?(JSON_CONTENT_TYPE)
body = "{}" if body.empty?
instance = response_class.new
response_representation.new(instance).from_json(body, unwrap: response_class)
instance
end
```

#### Environment details

- OS: Ubuntu 20.04
- Ruby version: 3.2.2
- Gem name and version: google-apis-adsense_v2 / 0.31.0

#### Steps to reproduce

Make a call to `generate_account_report_csv`

#### Code example

```ruby
sense = Google::Apis::AdsenseV2::AdsenseService.new
scope = ['https://www.googleapis.com/auth/adsense']
sense.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open('./account.json'),
scope: scope
)
account = "accounts/pub-xxxxxxxxxxxxx"
result = sense.generate_account_report_csv(
account,
date_range: 'YESTERDAY',
dimensions: %w[DATE],
metrics: %w[PAGE_VIEWS IMPRESSIONS CLICKS]
)

pp result # will be nil

```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en Google::Apis::Core::ApiCommand#decode_response_body y sigue cómo generate_account_report_csv gestiona su respuesta text/csv. Reproduce la llamada del issue y verifica después que la respuesta se devuelva en una forma utilizable en lugar de nil, y añade o ejecuta cobertura para este comportamiento.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
ruby
Área
api
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.