<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Twitter on kenji.blog</title><link>http://kenji.blog/es/tags/twitter/</link><description>Recent content in Twitter on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 08 Apr 2023 18:48:32 +0900</lastBuildDate><atom:link href="http://kenji.blog/es/tags/twitter/index.xml" rel="self" type="application/rss+xml"/><item><title>Cómo tuitear usando la API de Twitter y Google Colaboratory</title><link>http://kenji.blog/es/p/twitter-api%E3%81%A8google-colaboratory%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6tweet%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 08 Apr 2023 18:48:32 +0900</pubDate><guid>http://kenji.blog/es/p/twitter-api%E3%81%A8google-colaboratory%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6tweet%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/twitter-api%E3%81%A8google-colaboratory%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6tweet%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cómo tuitear usando la API de Twitter y Google Colaboratory" />&lt;h1 id="lo-que-necesitas">Lo que necesitas
&lt;/h1>&lt;ul>
&lt;li>API de Twitter&lt;/li>
&lt;li>Twitter API SECRET&lt;/li>
&lt;li>Twitter ACCESS TOKEN&lt;/li>
&lt;li>Twitter ACCESS TOKEN SECRET&lt;/li>
&lt;li>Cuenta de Google&lt;/li>
&lt;/ul>
&lt;p>Para obtener la API de Twitter, consulta los sitios de referencia.&lt;/p>
&lt;h1 id="procedimiento-para-tuitear-usando-la-api">Procedimiento para tuitear usando la API
&lt;/h1>&lt;ol>
&lt;li>Accede a &lt;a class="link" href="https://colab.research.google.com/" target="_blank" rel="noopener"
>https://colab.research.google.com/&lt;/a>&lt;/li>
&lt;li>Selecciona &amp;ldquo;Archivo&amp;rdquo; → &amp;ldquo;Nuevo cuaderno&amp;rdquo;&lt;/li>
&lt;li>Pega y ejecuta el siguiente código (usa los valores reales que obtuviste)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="n">API_KEY&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;9Smu2f2RoLqbVQHQq6n79Z2JW&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">API_SECRET&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;uGVRIkLL2l8sRyPv2Lr4mXxXppnQF1isMoRnvktcXCtFgAK2R8&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ACCESS_TOKEN&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;0367292979164670705-7hSErDoQbO6fkFtnn5UY0vqpvecy0O&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">ACCESS_TOKEN_SECRET&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;pUv81U9GVzZirz5g4AxZPHAJ4GpSXnBo8GUcZ1egtjw9q&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="3">
&lt;li>Pega y ejecuta el siguiente código&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">tweepy&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="4">
&lt;li>Pega y ejecuta el siguiente código (API v1.1)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="n">auth&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tweepy&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">OAuthHandler&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">API_KEY&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">API_SECRET&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">auth&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">set_access_token&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ACCESS_TOKEN&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ACCESS_TOKEN_SECRET&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">api&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tweepy&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">API&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">auth&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">api&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">update_status&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;hello&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>→ Se publicará el tuit &lt;code>hello&lt;/code>&lt;/p>
&lt;ol start="5">
&lt;li>Pega y ejecuta el siguiente código (API v2.0)&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="n">client&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tweepy&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Client&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">consumer_key&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">API_KEY&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">consumer_secret&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">API_SECRET&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">access_token&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">ACCESS_TOKEN&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">access_token_secret&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">ACCESS_TOKEN_SECRET&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">client&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">create_tweet&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">text&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;hello v2&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>→ Se publicará el tuit &lt;code>hello v2&lt;/code>&lt;/p>
&lt;p>Eso es todo.&lt;/p>
&lt;h1 id="referencias">Referencias
&lt;/h1>&lt;ul>
&lt;li>&lt;a class="link" href="https://bloomtectec.com/twitter-api-application-procedure/" target="_blank" rel="noopener"
>【A partir de abril de 2021】Explicación exhaustiva del procedimiento de solicitud de la API de Twitter con ejemplos de uso y capturas de pantalla&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://bloomtectec.com/use-twitter-api-in-google-colab/" target="_blank" rel="noopener"
>【¡Sin configuraciones molestas!】Google Colaboratory es recomendado para probar la API de Twitter 【También compartimos el código fuente】&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://3pysci.com/tweepy-28/" target="_blank" rel="noopener"
>【Tweepy】Twitter API v2: Tuitear, responder (reply), tuits con encuesta, tuits con medios (v1.1) [Python]&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Cómo configurar Twitter Card en PaperMod</title><link>http://kenji.blog/es/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Sat, 10 Sep 2022 18:41:22 +0900</pubDate><guid>http://kenji.blog/es/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/papermod%E3%81%A7twitter-card%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/images/img.png" alt="Featured image of post Cómo configurar Twitter Card en PaperMod" />&lt;h1 id="introducción">Introducción
&lt;/h1>&lt;p>El tema PaperMod soporta Twitter Cards.
Sin embargo, la configuración de Twitter Card debe escribirse en &lt;code>config.toml&lt;/code> o en la información de cabecera de los archivos &lt;code>*.md&lt;/code> de cada artículo.
Si se configura tanto en cada artículo como en &lt;code>config.toml&lt;/code>, la información de cabecera de cada artículo tendrá prioridad.&lt;/p>
&lt;h1 id="método-de-configuración">Método de configuración
&lt;/h1>&lt;h2 id="configtoml">config.toml
&lt;/h2>&lt;p>En &lt;code>config.toml&lt;/code>, agrega un elemento llamado &lt;code>images&lt;/code> bajo &lt;code>[params]&lt;/code>.
En &lt;code>images&lt;/code>, escribe la ruta de la imagen que se mostrará en la Twitter Card.
Si colocas la imagen en la carpeta &lt;code>static&lt;/code>, solo necesitas especificar el nombre del archivo.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[params]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> images = [&amp;#34;twitter_card.jpg&amp;#34;]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Estructura de carpetas&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">root
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ config.toml (Escribir aquí)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├─content
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─posts
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─carpeta del artículo
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ index.md (Escribir aquí)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └─images
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ cover.png (Colocar aquí)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└─static
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> twitter_card.jpg (Colocar aquí)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="información-de-cabecera-de-cada-artículo">Información de cabecera de cada artículo
&lt;/h2>&lt;p>En la información de cabecera de cada artículo, agrega un elemento llamado &lt;code>image&lt;/code> bajo &lt;code>cover&lt;/code>.
Si configuras &lt;code>relative&lt;/code> como &lt;code>true&lt;/code>, puedes especificarlo con una ruta relativa desde el archivo &lt;code>*.md&lt;/code> del artículo.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">cover:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> image: &amp;#34;images/cover.jpg&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> relative: true
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="si-no-deseas-que-se-muestre-en-la-parte-superior-del-artículo">Si no deseas que se muestre en la parte superior del artículo
&lt;/h3>&lt;p>Si no deseas mostrar la imagen de portada en la parte superior del artículo, agrega un elemento llamado &lt;code>hidden&lt;/code> bajo &lt;code>cover&lt;/code> y configúralo como &lt;code>true&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">cover:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> image: &amp;#34;images/cover.jpg&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> relative: true
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> hidden: true
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h1 id="sobre-el-tamaño-de-la-imagen">Sobre el tamaño de la imagen
&lt;/h1>&lt;p>En la especificación actual de PaperMod, parece que el tamaño de Twitter Card solo soporta &lt;code>summary_large_image&lt;/code>.
El tamaño adecuado (resolución) para &lt;code>summary_large_image&lt;/code> tiene varias opiniones, pero parece que alrededor de &lt;code>800 x 418&lt;/code> (proporción de imagen 1.91:1) es una buena opción.&lt;/p>
&lt;p>&lt;a class="link" href="https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/summary-card-with-large-image" target="_blank" rel="noopener"
>Sitio de referencia 1&lt;/a>
&lt;a class="link" href="https://developers.facebook.com/docs/sharing/best-practices" target="_blank" rel="noopener"
>Sitio de referencia 2&lt;/a>&lt;/p>
&lt;p>Si es posible, se recomienda redimensionar la imagen antes de publicarla.&lt;/p>
&lt;h1 id="método-de-confirmación-de-la-configuración">Método de confirmación de la configuración
&lt;/h1>&lt;p>Para confirmar la configuración de Twitter Card, utiliza el &lt;a class="link" href="https://cards-dev.twitter.com/validator" target="_blank" rel="noopener"
>Twitter Card Validator&lt;/a>.
Sin embargo, en mi entorno la vista previa no se mostraba correctamente, por lo que si no se muestra la vista previa, se recomienda verificarlo una vez antes de publicar usando una cuenta privada, etc.&lt;/p></description></item></channel></rss>