« first day (2054 days earlier)      last day (1037 days later) » 

1:08 AM
@AndreaJimenez la extencion, estructura de las variables esta limitada por la memoria asignada al sistema/proceso en ejecucion...
 
 
3 hours later…
3:55 AM
Buenos días
 
Buenas noches ._.
 
4:23 AM
@Christian si, algo sé. Por?
 
Bueno por aquí ya es algo tarde, mañana te explico lo que me está pasando
Hasta mañana!
 
 
2 hours later…
6:08 AM
A las güenas :-)
Asco de Lunes :-(
 
@Trauma XD
 
@MauricioContreras ¿ Te has desenredado ya ?
 
@Trauma nope
 
@MauricioContreras jejeje
 
Y creo que me he resfriado. Justo al empezar el verano. Puedes creer?
 
6:11 AM
Si lo necesitas, te presto mi gato :-)
Es un máquina enredándose xDD
@MauricioContreras Claro. De la emoción jejeje
Que te han aprobado los papeles ya :-)
 
Me duele todo lo que se llama cuerpo. Además la garganta le tengo en carne viva. Al menos no tengo fiebre.
 
@MauricioContreras Joé.
¿ Como te la has apañado, ahora que hace calor ?
 
Buenos dias chicos!
 
6:39 AM
@Trauma el calor no me afecta. Pero la mascarilla es una p**ada.
 
@MauricioContreras Dímelo a mi, que tengo gafas O-O
Estoy hasta los cajones de la mascaretta
 
buenas
@Trauma eeeyy
 
@DavidDPG eeeyy tú ;-p
¿ Que te cuentas ?
 
7:09 AM
@Trauma SUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
@Trauma que estoy cansado, molesto de que sea lunes
y tengo ganas de irme a mi casa a dormir
 
Dímelo a mi :'-(
 
Hoy es lunes AHHHHHHHH
buenos días
 
además ayer me fui con unos amigos a una casa de campo y nos jartamos a comer y beber
y me encuentro pesadísimo
 
7:30 AM
Buenos dias. La jornada de verano por fin llego
 
pues no para mí
cagüen
 
7:45 AM
@Pikoh endivia mode on
 
Buenas, me gustaría saber los índices en SQL para qué sirven exactamente? He estado buscando información pero no encuentro mucha al respecto sobre ello, se que es para realizar búsquedas más rápidas, pero no sé si alguien sabe de algún tutorial o web que venga bien explicado con algún ejemplo..
 
@melolo si quieres buscar un capitulo en un libro tienes dos opciones: ir pasando hojas una a una hasta encontrarlo, o ir al indice, buscarlo ahi, y vas directo a la pagina donde esta. No tiene mas
 
..
Debes de ser una persona muy agradable
 
@melolo ?
 
@melolo pero si te ha puesto un ejemplo estupendo xD
literalmente eso es un indice
 
7:57 AM
Y supongo que has sido tu el que has levantado el flag. Me esta bien por intentar ayudar. En fin...
 
ponerle un flag a un moderador por tratar ayudarte
:slow_clap:
 
Supongo que lo ha malinterpretado. Pero me parece que es mas facil preguntar que levantar un flag del tiron. Lo dicho...
 
la cultura de la cancelación, primero te cancelo y luego ya si me apetece me pondré a pensar en formas humanas y con sentido común de resolver malentendidos y conflictos
 
Tenía tiempo sin que entrara un ofendidito a sala. Seguro me pone flag. XD
 
Hoy me pinchan el 5G por cierto. Espero tener buena cobertura a partir de ahora
 
8:08 AM
@Pikoh XD, sabes de qué laboratorio?
 
@MauricioContreras pues no. Me ha llamado un robot, asi que no se podia preguntar
pero supongo que pfizer
 
@Pikoh vale, mi mujer es sociosanitario ya se vacuno las 2 veces, le pusieron la de Pfizer. Prepárate para el malestar del día siguiente. Dura de 24 a 48 horas.
 
Bueno, hay de todo. Yo se que hay gente que no tiene mucho malestar, y otros lo pasan peor
 
Muchos dicen que antes de la vacuna te tomes un paracetamol. De esa forma reduces un poco el efecto, pero a saber. Ya me tocará a mi. Aunque dicen que hay que agendarlo. Me pasaron el enlace aún no lo he abierto.
 
@MauricioContreras los medicos dicen que el paracetamol preventivo no es necesario. Que debe tomarse solo si tienes mucho malestar
pero bueno, ya os contare :)
 
8:14 AM
a ver si te duele el brazo
hay gente que dice que se les pone el brazo que no lo pueden mover
 
eso si dicen que si o si
 
malísimo para los adolescentes
 
@DavidDPG te la ponen en el brazo no dominante creo ;)
 
qué gente más grande
 
Supongo que te preguntan: ¿Con cuál brazo te la jalas? y Venga, te la ponen en el otro.
 
8:24 AM
y si soy superdotado? pregunto por un amigo
hay veces que una unidad no es suficiente, como con las pringles
 
@DavidDPG bueno hombre, un par de dias de abstinencia nunca mataron a nadie
 
al recuperar movilidad en el brazo: youtube.com/watch?v=hyNu5i_6lKA
 
8:56 AM
@abulafia andas por acá?
o @Trauma, a ver si sabes usar typing en Python.
 
@MauricioContreras Eso es parecido al TypeScript, ¿ no ?
variable : TIPO
 
@Trauma si
Pero me preguntaba lo siguiente. Tengo un método que establece el valor de una variable, digamos que establece un valor de un atributo de una clase, un vulgar setter.
 
Ten presente que yo no soy @abulafia ni @CandidMoe ;-p
 
Entonces, los valores que toma ese atributo son de tipo Diccionario o entero.
Tengo esto: def set_cell(self, coords: tuple, valor: dict=0):
Pero me estoy preguntando si es correcto hacerlo así.
La idea es borrar el valor almacenado si al hacer set_cell(coordenadas), no se pasa un valor de diccionario.
 
Creo que se usa UNION para eso
 
9:10 AM
En lo que estoy trabajando, borrar es equivalente a establecer a 0.
 
@Trauma Si, lo de Union lo vi, pero como el intérprete no se queja al hacerlo como lo hice, me pregunto si está bien o mal.
 
@MauricioContreras ando
 
@MauricioContreras Ah, pues ni idea xD
Ya llegó El Experto
 
@Trauma gracias, llegaron refuerzos
 
9:11 AM
Ale, que sus divirtais
Sigo con mi test :-D
 
@abulafia, Tengo esto: def set_cell(self, coords: tuple, valor: dict=0):
pero me choca el valor: dict=0
Aunque Python no se queja.
 
si, es raro. Y más raro que no se queje
le has pasado mypy?
 
@abulafia ???
Eso qué es?
 
a qué te refieres entonces con que no se queja?
la información de tipos a Python se la suda. La ignora completamente. Son otras herramientas de análisis estático de código quienes pueden usarla y darte errores o warnings
mypy es una de ellas
¿cuál usas? (si usas alguna)
 
@abulafia vale, pensé que Python las usaba si las escribía.
No uso nada de eso. XD. Con razón!!!. Pensé que estaba usando tipos, lo que estoy haciendo es perder el tiempo.
 
9:16 AM
@MauricioContreras En tiempo de ejecución se ignoran. Se usan en tiempo "de desarrollo". Algunos IDEs las usan para subrayarte en rojo errores, pero tienes que instalar el plugin apropiado
en realidad son casi como comentarios (al principio el typing comenzó así, se metía en comentarios)
 
Entonces no he dicho nada. creo que sacaré los tipos, sobran, la verdad.
 
solo que los comentarios realmente desaparecen al generar bytecode, mientas que las anotaciones de tipo (que son lo que estás usando) sí que forman parte del bytecode
teóricamente sería posible en tiempo de ejecución, mediante introspección, acceder a esas anotaciones y usarlas para validar si los parámetros son del tipo correcto. Pero Python no lo hace
hay algunas librerías que sí (pydantic, creo)
 
En todo caso, la forma correcta sería: def set_cell(self, coords: tuple, valor: Union[dict, int]=0) ???
 
@MauricioContreras Sí, auqne en Python3.10 creo que tendremos por fin valor: dict|int
de cualquier modo, eso de tener valores por defecto de distinto tipo a los valores "normales" acaba siendo un dolor
no te valdrá más hacer valor: dict = {} ?
y después, dentro if not dict: asignar cero a lo que sea
 
@abulafia Pues no lo sé. No lo he pensado.
Es que genero un tablero lleno de ceros:
self.layout = [[0 for x in range(columnas)] for y in range(filas)]
 
9:20 AM
y qué papel juega ahi dict?
 
Luego uso el tablero para almacenar valores que vienen en un diccionario.
Los que tienen 0, están libres
 
iterando por el didcionario, supongo?
o sea, que si te llega un diccionario vació, quedaría todo con 0, que es precisamente lo que pretendes, no?
 
No, en una celda va un cero o un diccionario. El diccionario tiene información que lo diferencia de otro diccionario.ç
No llegará un diccionario vacío nunca.
 
bueno, pues entonces puedes empezar la función con algo así:
valor_ = valor if valor else 0
y luego en tu bucle metes valor_
 
9:24 AM
es lo malo de los tipos. En cuanto metes tipos, se acabó la diversión
deja de ser pythónico y empieza a parecerse a Java :-)
 
No, inicio un tablero vacío. Luego aleatoriamente meto elementos en las celdas del tablero, dichos elementos son diccionarios que contienen meta data.
 
Ya, pero yo te estoy preguntando por el parámetro valorque recibe tu función
supuestamente es un diccionario, o es 0
¿cómo se usa cada caso?
 
@abulafia será usada así: si se va a almacenar un elemento, se pasa un valor, si se va a borrar lo que hay allí, no se pasa ningún valor.
 
ya, pero tal como has definido la función nada impide que un usuario torpe llame a la función y le pas valor=100 por ejemplo
 
Es decir, al hacer opcional el argumento de valor se entiende que se debe establecer a 0 el valor de la celda
 
9:26 AM
el chequeo de tipos sería correcto
 
Un usuario torpe no interactúa con la función porque simplemente no puede.
 
@MauricioContreras pues es lo que te estaba diciendo antes, pon como valor por defecto un diccionario vacío. Así, si valor está vacío guardas un 0 y si no guardas valor
La ventaja de que el valor por defecto sea {} y no 0, es que el tipo de valor es siempre dict lo que simplifica las cosas
 
es un script que no tiene más que una única llamada inicial que indica el tamaño del tablero, la cantidad de elementos aleatorios a crear y punto. No hay mas nada, ni se consume desde otra parte ni nada. XD
 
bueno, pero estamos hablando aquí de tu código o de buenas prácticas? XD
 
@abulafia vale, a veces olvido que {} es falsy
 
9:28 AM
porque si hablamos de tu código, quita todo eso de los tipos y ya!
 
Vengo de JS, donde {} es thruty
 
Ah, entiendo
cuánto habrás sufrido, perdona
 
Jejeje
Queda así:
import random

class Tablero:
  """Define un tablero de juego.

  Esta clase se encarga de definir los métodos y propiedades del
  tablero de juego

  Args:
    filas: int Valor entero que indica el número de filas del tablero
    columnas: int | None Valor entero que indica el número de columnas
      si no se especifica, se toma el valor de filas para generar un
      tablero cuadrado

  Returns:
    obj: Tablero Una instancia de la Clase con todos sus métodos y propiedades
  """
  def __init__(self, filas, columnas=None):
 
ay.. eso puede traer problemas secundarios inesperados
 
@abulafia a ver, cuales?
 
9:32 AM
no ibas a guardar un 0 en la celda si valor era {}?
Es que ahora estás guardando valor, incluso si es {}
 
Me acabas de decir que puedo hacerlo así. XD
 
pero valor es una referencia a un objeto externo y único, el mismo siempre
 
No he actualizado los comentarios de los métodos. :O
 
asi que estás metiendo en tu tablero muchas referencias a el mismo dict
y supongo que no quieres eso
porque si cambias uno, cambian todos
@MauricioContreras No, lo que yo te sugería era esto otro:
  def set_cell(self, coords, valor={}):
    """Establece el valor de una celda
    Función que escribe un valor en una celda según las coordenadas recibidas.

    Args:
      valor: dict diccionario con los datos a ser almacenados en la celda, si se omite se vacía la celda.
    Returns:
      celda: Devuelve el valor establecido en la celda
    """
    self.layout[coords[0]][coords[1]] = valor if valor else 0
    return self.layout[coords[0]][coords[1]]
 
Vamos por parte, acabo de cambiar la generación del tablero a usar {} en vez de 0.
Luego, según entiendo, esto: def set_cell(self, coords, valor={}) es una función que recibe un parámetro opcional llamado valor.
Esa función se usará para almacenar un valor recibido, o borrar el actual si no se recibe ninguno. Ya sé que daría lo mismo pasarle un diccionario vacío y todos contentos, cierto?
Tal vez me estoy dejando el manual de buenas prácticas bajo el sofá para equilibrar el desnivel. XD
Por ejemplo, estas llamadas, visualmente son diferentes:
print(tablero.set_cell((12,16), {'id': 12345}))
print(tablero.set_cell((12,16)))
Y estas llamadas hacen lo mismo:
print(tablero.set_cell((12,16), {'id': 12345}))
print(tablero.set_cell((12,16), {}))
Ambas borran la celda.
Pues nada, creo que cambiaré a pasar un diccionario vacío. XD
Listo, primera parte lista.
Cómo se sacaba esto a un fichero importable ??? XD que mala memoria tengo.
 
9:48 AM
@MauricioContreras ¿ No sería mejor que usaras False para indicar que quieres borrar ?
o incluso None
Pero que tengas que ponerlo por cajones
 
@Trauma por eso quería hacerlo como opcional
 
No lo pongas opcional
pero comprueba el tipo dentro de la función
 
@Trauma XD
if type(valor) == 'dict'? No me convence.
 
if arg is False: # esto para borrar
 
@Trauma mmm
arg
 
9:49 AM
else: XXXX
bueno, no se si False es un singleton de esos, aunque supongo que si lo será
Como si fuera JavaScript, vamos :-)
 
Es casi lo mismo o no? Igual quedan muchos edge cases que no me interesan, ya que mi código internamente es el que se encarga de mandar cosas a esa función, es una simulación, todos los valores serán creados por el script. Pero lo tomaré en cuenta
 
Es que veo poco intuitivo no pasar un argumento para indicar que se quiere borrar
no se ... igual son los años :-)
 
@Trauma ya, creo que allí puede estar más cerca de la línea del opnionate, pero ya veremos, que eso es lo de menos, lo que necesitaba yo hacer era verificar si una celda estaba vacía antes de intentar almacenar algo allí. Por ejemplo: if not tablero.query_cell(coords):
 
@MauricioContreras Ah, vale. Que me voy por las ramas :-)
 
En JS {} es thruty, y mi no se me ocurrió pensar que en Python es falsy, por eso al principio lo llené de ceros, porque cero es false desde los inicios de los tiempos.
 
9:55 AM
¿ Y porqué no le pusiste False directamente ? O_O
... los pythoneros haceis cosas mu raras ...
 
@Trauma Porque aún incluso no sé si se vaya a represntar gráficamente en pantalla el tablero, eso me ahorraría un if. Lo ves?
 
Ah, vale. Ok
¿ Vas a mostrar por pantalla el tablero ?
¿ No ponía que eso era opcional ?
 
sólo cambio por X o cualquier otro carácter el valor de la celda que no sea 0
 
vale, te sigo.
 
@Trauma es opcional, lo sé, pero nunca se sabe, hay que ver más allá de lo evidente
 
9:57 AM
jejeje
Pues nada, duro con él xD
Yo empecé ha hacerlo. Pensé el nombre de 3 o 4 clases y todo
 
Justo ahora estoy escribiendo el encolador de movimientos.
 
pero el capítulo de Orphan Black estaba muy chulo y me distraje xDD
 
Son 4 clases: Tablero, Cliente, Taxi y Autobus
 
Pero esos diccionarios que metes en cada celda, ¿van a mutar?
 
Bueno, yo puse World, Actor, Cliente, Taxi, Bux
 
9:58 AM
@abulafia te paso captura de lo que estoy haciendo, estoy en pañales aún.
 
o sea, vas a necesitar hacer en algun momento algo como tablero.get_cell(3,4)["id"] = "otra cosa"?
 
@abulafia nunca
O al menos no está pensado para hacerlo así
 
Vale, es que el único problema que tiene hacer {} como valor por defecto, es que ese valor es una especie de "singleton"
 
El tema que tengo es que voy a tener que modificar ya mismo algo
 
y eso me preocupaba
 
10:00 AM
ya que una celda puede tener 2 o más elementos, por lo que ahora será una lista. Jo, que lio
Como diría el gran filósofo de la gran pelota naranja: Soy gilipollas
Supongo que si {} es falsy, entonces [] también.
 
@MauricioContreras Sí. Son falsey: el 0, None, la lista vacía, diccionario vacío, conjunto vacío, y cadena vacía. Y cualquier objeto cuya clase implemente __bool__() y esa función retorne False
 
Puedo usar un diccionario que almacene diccionarios, de esa forma puedo acceder a sus claves. Se puede eliminar la clave de un diccionario?
En JS tenemos delete
Vale, si, es del my_dict[key]
 
Bueno, entonces sí que son mutables al final...
 
@abulafia si, ahora si.
 
en ese caso no debes asignar nunca a una celda el {} que usas como valor por defecto
o sea, me explico. Esto MAL:
def funcion(x,y, valor={}):
  self.matriz[x][y] = valor
esto BIEN:
 
10:08 AM
@abulafia es que ahora todo cambia
 
def funcion(x, y, valor={}):
  self.matriz[x][y] = valor if valor else {}
 
Un elemento debe almacenarse en una clave del diccionario.
 
Sí, pero al margen de lo que estés haciendo, grábate a fuego esto que acabo de contarte
 
Vale
te leo con atención.
Es porque valor es pasado por referencia, cierto?
 
en el pirmer ejemplos, si haces maze.funcion(1,2) y luego maze.funcion(3,4), estás metiendo en esas celdas (1,2) y (3,4) un diccionario vacío, pero es el mismo diccionario en ambos casos
 
10:09 AM
Ya, me lo imaginaba.
 
en el segundo ejemplo, aunque son diccionarios vacíos también son diccionarios diferentes e independientes
es porque el valor por defecto {} se crea antes de llamar a la función, y no en el momento que se llama a la función
 
Me quedó claro, entiendo tu punto.
 
el primer ejemplo equivale a
valor_defecto = {}
def mal(x, y, valor=valor_defecto):
  ...
 
-1
Q: Mysql, problemas con load data al cargar ficheros txt

MarcosTengo creada una base de datos, la cual contiene tablas dentro. Estoy intentando meter datos dentro de las tablas con load data. Esta es mi tabla: Este es el txt con los datos que quiero introducir: Y este es el load data que utilizo: load data local infile 'C:\\Users\\marco\\OneDrive\\Escrito...

 
solo sería correcto hacerlo así si esos valores que asignas van a ser inmutables (aunque no tienes forma de garantizarlo en realidad, por lo que estás dejando abierto un cepo que luego puedes pisar)
 
10:13 AM
Correcto, estoy asignando la misma dirección de memoria a distintos elementos del tablero, cuando quiero todo lo contrario. Ya que luego, si modifico algo en una, todas las demás mutarán con este cambio.
 
Eso es
 
Ves? que aprendo rápido.
 
:-)
Lo mismo con listas,etc. Por eso suele verse este patrón, para evitarse problemas:
def bien(x, y, valor=None):
  if valor is None:
    valor = {}
  ...
Que es perfecto y generalmente recomendado, pero que plantea nuevos problemas cuando quieras usar typing, ya que en ese caso valor ha de ser de tipo dict o None
 
Ahora, esto sería incorrecto?
self.layout = [[{} for y in range(columnas)] for x in range(filas)]
Ese elemento de la list comprehension es independiente de los demás o es el mismo para todos?
 
Es independiente
Pero mejor hago un test :-)
 
10:17 AM
XD
Vale, que yo ya lo tengo
Si, es independiente
 
>>> filas, columnas = 10, 10
>>> layout = [[{} for y in range(columnas)] for x in range(filas)]
>>> layout[0][0] is layout[0][1]
False
 
Vale, ahora lo bueno, a desmadejar los hilos
 
10:49 AM
0
A: Tengo un error con el {

aromeral98Creo que te falta un parantesis al final ) de todas formas a ver si puedes pasar el codigo y te lo reviso

las dos respuestas con un +1 WTF???
 
Cerrada la pregunta, -1 cada respuesta.
@NicolasOñate hace rato hablaba de tí.
XD
50 mins ago, by Mauricio Contreras
Como diría el gran filósofo de la gran pelota naranja: Soy gilipollas
 
@MauricioContreras me siento orgulloso de que sigas mis pasos
 
11:53 AM
@Trauma, sigues por acá?
@abulafia
?
Esto es un code review, tengo una función que dado un par de coordenadas de una casilla o celda de mi tablero, me devuelve una lista de casillas o celdas adyacentes válidas dentro del tablero.
 
@MauricioContreras Toy ... durante 5 minutos
 
Sucede que hago un doble ciclo, y no sé porqué pienso que se puede hacer con uno solo.
Mira esto:
 
Dale
 
filas = 75
columnas = 75
tablero = [[{} for y in range(columnas)] for x in range(filas)]
def get_neighboor_cells(coords):
    neighboor_cells = []
    for row in range(-1, 2):
      if (coords[0] + row) >= 0 and coords[0] + row < filas:
        for col in range(-1, 2):
          if coords[1] + col >= 0 and coords[1] + col < columnas:
            neighboor_coord = (coords[0] + row, coords[1] + col)
            if not (neighboor_coord[0] == coords[0] and neighboor_coord[1] == coords[1]):
              neighboor_cells.append(neighboor_coord)
 
ufffff ... eso muy denso para estas horas :-/
 
11:57 AM
Funciona
claro, no valido que las coordenadas recibidas sean válidas, pero supongamos que siempre lo son.
@Trauma XD
 
Si te soy sincero, no entiendo lo que haces ahí
 
Se supone que las casillas de las esquinas sólo tienen 3 casillas adyacentes válidas, cierto?
 
cierto
 
Lo que hago es un doble bucle (1 para recorrer filas y otro para recorrer columnas)
 
¿ Y no te sería mas facil con 8 if ?
son 8 casos especiales
los 4 laterales, + las 4 esquinas
 
12:00 PM
pero el bucle de recorrer columnas está supeditado a saber si la fila es válida, así me evito correr el bucle de columnas sin necesidad
8 if lo veo terrible, y claro que lo pensé.
 
jejeje
pues yo lo habría hecho con if
mejor que con un for
no, son 4 if. Cada uno de ellos con un if interno
que se puede meter en una funcioncita aparte
 
@Trauma sigue siendo pesadilla ante mis ojos. XD
 
para mi es pesadilla el for xDD
 
A ver, lo hago con if's
 
Bueno, a comer
una de las ventajas de los asalariados ;-p
 
12:15 PM
Pues quedó así, pero es mucho código para mi gusto:
filas = 75
columnas = 75
tablero = [[{} for y in range(columnas)] for x in range(filas)]

def is_valid_cell(coords):
  valid_row = coords[0] >= 0 and coords[0] < filas
  valid_column = coords[1] >= 0 and coords[1] < columnas
  return valid_row and valid_column

def get_neighboor_cells_if(coords):
    neighboor_cells = []
    # Fila anterior
    if(is_valid_cell((coords[0] - 1, coords[1] - 1))):
      neighboor_cells.append((coords[0] - 1, coords[1] - 1))
    if(is_valid_cell((coords[0] - 1, coords[1]))):
Funciona, pero no me convence mucho. Cuestión de gustos.
 
12:32 PM
chicos
cómo podría obtener con un GET en javascript, la información de aqui:
https://www.instagram.com/therock/?__a=1
porque lo intenté hacer con fetch, y me manda a la mierda, hablando claro y pronto
 
@AQMR registrándote en el portal de desarrolladores de Instagram y usando su API
Sino, ilegalmente: haciendo scraping, cosa que te sugiero que evites.
 
no no
digo con su api
Ya tengo una dentro
 
Oigan, cuales son las librerias de la biblioteca estandar de Python mas utiles? Antes estaba pensando en aprender toda la biblioteca estandar pero veo que es algo tonto
 
y estoy tratando de averiguar si un perfil es privado o publico, para poder hacerle mención o no
 
@AQMR Y que dice la docu???
 
12:43 PM
que me busque la vida XD
Eso dice
Por eso pregunto JAJAJJAA
 
Por eso quiero saber eso
Estoy probando con un XMLHttpRequest
Pero me sale el problemilla de los CORS
y no se como fixearlo
 
@PySanti no soy experto en Python, pero uso las librerías según las necesito.
@AQMR Ya leiste esto:
4
A: Instagram API cant find info on Private Profiles

youngderoUse the GET relationship endpoint. https://api.instagram.com/v1/users/user-id/relationship This endpoint returns a BOOL value “target_user_is_private”. or try this out You can use the User Media endpoint with client_id: https://api.instagram.com/v1/users/USER_ID/media/recent/?client_id=YOUR-...

 
Si
Y para ello necesito saber previamente el id de usuario de la persona que quiero coger
Y yo solo necesitaria el nombre
a través de esa URL que pasé antes, ves el perfil de the rock
 
12:51 PM
Y ves si su perfil es publico o priivado
 
Pues habrá otra forma. No?
 
@NicolasOñate No soy el único ...
 
@AQMR pero si me devuelve datos. Veo si es público. Cuál es el problema???
 

« first day (2054 days earlier)      last day (1037 days later) »