Actividad de inserción de Google plus en la transmisión
Difícil momento de insertar una actividad en Google Plus Stream. Despues de referirguía de desarrolladores de google. Encontré un ejemplo para java -https://developers.google.com/+/domains/posts/creating
¿Hay un ejemplo similar para ejecutar elactivites.insert
consulta utilizandogoogle-api-ruby-client.
Seguí los siguientes pasos:
Definir el acceso a la aplicación a través deomniauth-google-oauth2
GOOGLE_CONSUMER_KEY = google_config['KEY']
GOOGLE_CONSUMER_SECRET = google_config['SECRET']
google_scope = "userinfo.email,
userinfo.profile,
plus.login,
plus.me,
plus.media.upload,
plus.profiles.read,
plus.stream.read,
plus.stream.write,
plus.circles.read,
plus.circles.write"
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, GOOGLE_CONSUMER_KEY, GOOGLE_CONSUMER_SECRET,
{
name: 'google',
scope: google_scope,
prompt: 'consent'
}
end
Use el token y el token de actualización para ejecutar las llamadas a la APIgoogle-api-ruby-client. Puedo listar las actividades usando "más", pero para insertar una actividad debería usar plusDomains.
client = Google::APIClient.new(:application_name =>'Demo GooglePlus',:application_version => '1.0.0')
plus = client.discovered_api('plus')
plusd = client.discovered_api('plusDomain')
client_secrets = Google::APIClient::ClientSecrets.load
auth=client_secrets.to_authorization
auth.update_token!(access_token: 'aRandomToken', refresh_token: 'aRandomRefreshToken')
result = client.execute(:api_method => plus.activities.list,:parameters => {'collection' => 'public', 'userId' => 'me'}, :authorization => auth)
>> This works, returns the list of activities
Usando más dominio
result = client.execute(:api_method => plusd.activities.insert,:parameters => {'collection' => 'public', 'userId' => 'me'}, :authorization => auth)
>> Returns 403 Forbidden
Más tarde, me di cuenta de que la API de Google requiere una delegación de dominio amplia para utilizar la API de dominios (creo que eso es correcto)https://developers.google.com/+/domains
https://developers.google.com/+/domains/getting-started#accessing_the_apis - ¿Sería suficiente el uso de Auth en el paso 1 anterior?
https://developers.google.com/+/domains/quickstart/python - ¿Hay algo disponible enRUBÍ
También probé la configuración de la cuenta de servicio, creé una aplicación empresarial y seguí unaEjemplo de cuenta servicio
Pero todavía no es suerte.
Probando en la terminal
curl -v -H "Content-Type: application/json" -H "Authorization: OAuth ya12.AqwqwwAS1212grcECQ3iVAlg" -d "{'object':{'content':'Test message'},'access':{'items':[{'type' : 'domain'}],'domainRestricted':true}}" -X POST https://www.googleapis.com/plus/v1domains/people/me/activities
Results in ->
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
¿Puedo obtener ayuda para insertar una actividad en Google Plus User Steam?
¡Gracias!