Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: bygdle en Abril 10, 2016, 06:45:34 PM

Título: Subir imágenes a Imgur
Publicado por: bygdle en Abril 10, 2016, 06:45:34 PM
Autor: yo + Jucarave (http://www.comunidadgm.org/profile/?u=3438)
Versión de GM utilizada:  :GMS: 1.4+
Descripción: Permite subir una imagen al servidor Imgur. Para ello, debes tener creada una App de desarrollador en imgur, y es recomendable leer la documentación de la API: Imgur API (http://api.imgur.com), donde se explica cómo crear la app. Jucarave hizo la "empaquetación" de la imagen en base64 (necesario para subirla a la API), que me tenía con la cabeza a punto de estallar, pero como él no quiere subir el script pues me toca a mí :'( xDD

Código:
[gml]
///imgur_upload_image(fname, imgur_client_id);
var fname = argument0;
var client_ID = argument1;
var file = file_bin_open(fname, 0);

var size = file_bin_size(file);
var buffer = buffer_create(size, buffer_fixed, 1);

var byte;
for (var i=0;i<size;i++){
    byte = file_bin_read_byte(file);
    buffer_write(buffer, buffer_u8, byte);
}

file_bin_close(file);
var headers = ds_map_create();
ds_map_add(headers, "Authorization", "Client-ID " + client_ID);
ds_map_add(headers, "Content-Type", "application/json");

var base64 = buffer_base64_encode(buffer, 0, size);
var data = '{"image": "' + base64 + '"}';

return http_request("https://api.imgur.com/3/image.json", "POST", headers, data);
[/gml]
Esta función tiene dos argumentos:
fname: El archivo de imagen a subir. Obviamente debe ser formato de imagen, porque la API de imgur verifica que lo sea, y si no lo es, no lo dejará subir.
imgur_client_id: Al crear la App de desarrollador en imgur, se te da un "client Id", debes ponerlo a modo de cadena en este argumento.

Como todas las funciones asíncronas, este script devuelve una identificación que permite recibir la respuesta de la API como cualquier otra función asíncrona. Es necesario saber que esta respuesta está en formato JSON (usar json_decode() para sacar la info), y en esta respuesta se encuentra el enlace de la imagen subida.
Título: Re:Subir imágenes a Imgur
Publicado por: kostra en Abril 12, 2016, 02:26:43 PM
ke puto amo xDD

y te pasa el link?

PD: no, no he leido nada xD