Hola usuario de nuestra página, hallamos la respuesta a lo que andabas buscando, continúa leyendo y la hallarás más abajo.
Solución:
Esta respuesta está desactualizada y ya no funcionará porque Picasa y su API se han cerrado
Cómo enumerar todos los archivos en su Fotos de Google:
Me sorprendió el tiempo que me llevó encontrar esta API. No es necesariamente “información secreta”, pero supongo que la mayoría de los usuarios están perfectamente felices viendo sus fotos de Google “a la antigua”. Mi objetivo inicial era poder determinar qué fotos se habían subido o no correctamente antes de arriesgarme a eliminar algo tan valioso como mi “3.ª copia de seguridad” de fotos antiguas.
-
Como tantas cosas en la vida, hay una forma fácil y un manera difícil.
-
Dependiendo de su punto de vista, el manera difícil a menudo es más divertido y / o más satisfactorio …
Respuesta corta: (La manera fácil)
-
Asegúrese de haber iniciado sesión en su Cuenta Google en su navegador “habitual” (predeterminado).
-
Haga clic en esto: https://picasaweb.google.com/data/feed/api/user/default
Obtendrá una lista basada en texto de todas sus fotos de Google Álbumes. Tanto la lista de álbumes como la lista de fotos se parecen sospechosamente a fuentes RSS (y se pueden marcar como tales si así lo desea).
sé usted no quiero copia tu lista de fotos a mano, pero sospecho que otros que se encuentran con esta pregunta quieren el “fácil” camino:
-
Después de abrir la URL de la API, haga clic en el enlace del primer álbum.
-
pegar control+A luego control+C copiar texto de la página
-
vaya a su editor de texto favorito (Bloc de notas ++, Excel, Bloc de notas de la vieja escuela, etc.) y presione control+V
-
Vuelve a la lista de fotos, haz clic en el botón de tu navegador.
Autenticación: Por simplicidad, primero asegúrese de haber iniciado sesión a su cuenta de Google desde cualquier página de Google, como desde la esquina superior derecha de la página de búsqueda de Google. Esto le permitirá utilizar las direcciones genéricas que se enumeran a continuación; de lo contrario, la palabra “default
“tendría que ser reemplazado con su ID de Google, así como otros cambios para adaptarse a la autenticación de API de Google.
Puntos finales de API
Si tiene un método preferido para enviar solicitudes GET, todo lo que necesitará son dos URL.
Como yo lo entiendo, todos Las fotos de Google se almacenan enÁlbumes (incluso si no parecen serlo). Por lo tanto, para enumerar todas las fotos, debe analizar todos sus álbumes, enumerando las fotos en cada uno.
los GET
llamar para listar sus álbumes de Google Fotos es:
https://picasaweb.google.com/data/feed/api/user/default
los GET
llamar para enumerar todas las fotos dentro de un álbum es:
https://picasaweb.google.com/data/feed/api/user/default/albumid/__[albumID]__
Recuperar la lista mediante programación: (Los ” .NETO API “Way)
Ejemplo de .NET de Google:
PhotoQuery query = new PhotoQuery(PicasaQuery.CreatePicasaUri(username, albumid));
PicasaFeed feed = service.Query(query);
foreach (PicasaEntry entry in feed.Entries)
Console.WriteLine(entry.Title.Text);
★ La cuerda “
default
“se puede utilizar en lugar de un nombre de usuario real, en cuyo caso el servidor utilizará el nombre de usuario del credenciales de usuario actual utilizado para autenticar la solicitud.
Más información: Guía para desarrolladores de Google Picasa .NET: Solicite una lista de fotos
Enumere todas las fotos de Google usando VBA: (La “forma de Web-Scrapey” con Excel)
Excel tiene una funcionalidad de análisis XML incorporada, en varias formas:
- Importar datos XML (pestaña Desarrollador) Excel 2007+
- Conectarse a un archivo XML (Power Query) Excel 2010+
- Servicio web y FilterXML (funciones de hoja de trabajo) Excel 2013+
… pero ni siquiera las funciones más nuevas parecen admitir lo suficiente [of what I assume to be] variaciones en el estilo / fuente XML, para ser de utilidad para mí … (o tal vez solo estoy haciendo algo mal.
Por lo tanto, mi método preferido para analizar XML es simplemente cargarlo en una cadena con un HttpRequest
y luego usa Instr
y Mid
para localizar los valores que me interesan. Es complicado, pero lo he usado como una “solución rápida” para recuperar varios tipos de datos de varios tipos de sitios.
Mientras escribía esta respuesta, parece que perdí mi código relacionado (¡¿efecto secundario del exceso de multitarea?!), Pero si llegó hasta aquí, probablemente entienda la esencia. La función simple para recuperar la fuente de una URL se encuentra a continuación. Si está interesado en ver el resto, agregue un comentario y buscaré más. 🙂
Public Function getHTTP(ByVal url As String) As String
'equivalent to Excel's WEBSERVICE function
Dim encResp() As Byte, xmlHTTP As Object
Set xmlHTTP = CreateObject("MSXML2.XMLHTTP") 'create XML/HTTP object
xmlHTTP.Open "GET", url, False 'initialize GET request
xmlHTTP.send 'send request to remote server
encResp = xmlHTTP.responseBody 'receive raw (encoded) response
Set xmlHTTP = Nothing 'always clean up after yourself!
getHTTP = StrConv(encResp, vbUnicode) 'return decoded response
End Function
También es una forma engañosa de contar rápidamente las ocurrencias de una cadena dentro de otra:
Function countOccur(searchWithin As String, toFind As String) As String
'returns the count of occurrences of [toFind] within [searchWithin]
countOccur = UBound(Split(searchWithin, toFind))
End Function
Contando apariciones de
en un álbum o página de fotos devuelve el recuento de álbumes o fotos en esa página.
Enlaces relacionados:
-
Referencia de la API de datos de Álbumes web de Picasa
-
MSDN: Acerca de XMLHTTP nativo
-
Uso del objeto XMLHTTP de Microsoft para obtener datos de otras páginas web
-
MSDN: propiedad responseBody (IXMLHTTPRequest)
Cómo enumerar todas las fotos de álbumes específicos o de toda la biblioteca
Alternativa obsoleta a la API de Picasa
Dado que Google ha dejado de utilizar la API de Picasa, API de Google Fotos se puede utilizar para obtener información sobre álbumes y para obtener una lista de fotos y videos en ese álbum, o incluso en toda la biblioteca de Google Fotos.
Esto se puede hacer usando REST, Java o PHP (como se indica en su página de ejemplos).
Empezar: https://developers.google.com/photos/
API web proporcionada por Google
También puede probar fácilmente la funcionalidad de la API sin descargar ni codificar nada, visitando uno de los enlaces de métodos de API en la web que se muestran en la página de ejemplos:
- Lista de álbumes: https://developers.google.com/photos/library/reference/rest/v1/albums/list
- De esta forma, puede obtener los parámetros de albumId de todos los álbumes de su biblioteca de Google Fotos.
- Listar elementos multimedia: https://developers.google.com/photos/library/reference/rest/v1/mediaItems/list
- De esta manera puede enumerar TODOS elementos multimedia en su biblioteca de Google Fotos.
- Lista de álbumes compartidos: https://developers.google.com/photos/library/reference/rest/v1/sharedAlbums/list
- De esta manera, puede enumerar solo los álbumes que ha compartido o que se han compartido con usted.
Para obtener una lista de todas las fotos y videos en un álbum específico, usar:
- Buscar elementos multimedia: https://developers.google.com/photos/library/reference/rest/v1/mediaItems/search
- De esta forma, puede enumerar los elementos multimedia de una álbum.
- Con este método solo puede enumerar como máximo 100 elementos multimedia en un álbum a la vez (en una página). Cada respuesta te da la
nextPageToken
al final. Utilizar elpageToken
parámetro para navegar por las páginas. - Si necesita hacer esto un par de veces, no hay problema. Para tareas simples y repetitivas como esta, puede utilizar TinyTask para grabar la entrada del mouse y el teclado, y automatizar el trabajo aburrido.
Nota
Para búsquedas y listados simples, puede usar la API web mencionada anteriormente que brinda como máximo 100 resultados por página. Para algo más avanzado, le aconsejo que escriba un código que recorra todas las páginas de resultados y almacene o imprima la información que necesita. Para una solución sin codificación,TinyTask es una buena alternativa.
Pensé que esto era mucho más fácil:
Aquí está mi script de bash:
#!/bin/bash
#
# listgp - list google photos
#
# usage: listgp
#
# dumps listing of all curreent user's stored google photos in the speeceifieed file
#
# example access to google api
#
# curl 'https://photoslibrary.googleapis.com/v1/mediaItems?pageToken=CkQKQnR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLnBob3Rvcy5saWJyYXJ5LnYxLkxpc3RNZWRpYUl0ZW1zUmVxdWVzdBKiAUFIX3VRNDM0V1JKaEVkcTRfYU1uUXNnUXlzdGJpUEt4enlhVXZ3QW1TUTB5cVg2SEdRRk85MjkwRlFrRVg2VlJMRVBOVnI4cHRyRWhPcE11bTN3WUFTVHNnTXNFdmc5eUtaODd6TFJsLXh2QjNnSUlabWpLZl9sZV81c2lMc1VCUmhsalNFRXowWm9lazVhczQtNXB0dkJtYzduYUs1b1Vidw' --header 'Authorization: Bearer ya29.GmTMBkWYE5CNTCSKJJTqlSh7FohUHp6u0hWTiyevsIW5iEGbBC0lmExfCNAldH8kaKBkwszW3Pk-ZwAzFMPNXtM4RlBF8M4vgbf8Lzv99LiVxWtojooSnRxOHWqq7ZEm-4sE9NI-' --header 'Accept: application/json' --compressed
#
# to determine your auth token,
# see https://developers.google.com/photos/library/reference/rest/v1/mediaItems/list
# open dev tools in chrome, go to network tab, run the example, log into your google photos account
# you can inpect the headers and find one that has 'Authorization: Bearer '. Copy and paste your token
# in the script below as the value for 'auth'.
#
#
auth="ya29.GmPNBqtRiw1dvOdiqjoaRkG9CtO2gunFtV8u_00vsAHROatuT5gZlFwNjmXf-CiPxOqxdgDKmweTdZIXeOCVaMM7d8n7E9VQlxAKOZo1zyE5Gq0_Nqqpc7T6csUJ5wablvhajQw"
#
function getItems()
pageToken=$1;
if [ "$pageToken" != "" ]
then
pageTokenParam=pageToken="$pageToken";
else
pageTokenParam="";
fi
curl
"https://photoslibrary.googleapis.com/v1/mediaItems?$pageTokenParam"
--header "Authorization: Bearer $auth"
--header 'Accept: application/json'
--compressed > page
cat page >> list
grepOut=(`grep nextPageToken page
getItems
Reseñas y calificaciones
Recuerda que tienes la capacidad de valorar esta reseña si acertaste tu dificultad .