esta es una pregunta muy específica, así que no estoy seguro de si hay alguien que pueda responder, pero tengo que intentarlo de todos modos.
Entonces, el bot reddit tldr usa la API de Smmry para resumir el contenido. Estoy tratando de hacer algo similar. El problema está en la documentación que solo muestra las URL como un posible parámetro. ¿Alguien sabe cómo podría simplemente pasar una cadena de texto?
Intenté enviarles un correo electrónico pero no obtuve respuesta.
La página de inicio de Smmry le permite pasar solo texto, así que estoy seguro de que puede hacerlo. También hay un ejemplo en PHP, pero tengo 0 conocimientos de PHP. Aquí está su ejemplo de PHP:
$text = "Your long text goes here...";
$ch = curl_init("https://api.smmry.com/&SM_API_KEY=X");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:")); // See Note
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "sm_api_input=".$text);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$return = json_decode(curl_exec($ch), true);
curl_close($ch);
Aquí está el código de muestra que estoy usando para la solicitud en javascript. YOURKEY es un marcador de posición para la clave que recibe cada persona.
const axios = require('axios')
axios.post('https://api.smmry.com?SM_API_KEY=YOURKEY', {
})
.then(function (response) {
console.log(response.data.sm_api_content);
})
.catch(function (error) {
console.log(error);
});
Pase la cadena que le gustaría resumir como key=pair como una sola cadena.
Los encabezados agregados imitan el ejemplo en los documentos de la API.
const axios = require('axios');
const text = 'A very long text to summarize..';
axios.post(
'https://api.smmry.com?SM_API_KEY=YOURKEY',
`sm_api_input=${text}`,
{
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
'Expect': '100-continue'
}
}
)
.then(function (response) {
console.log(response.data.sm_api_content);
})
.catch(function (error) {
console.log(error);
});