400 erreur lors de l'envoi tumblr poste (rubis sur des rails)
-
04-10-2019 - |
Question
Je vais avoir un peu d'un problème avec l'obtention de travail dans un tumblr rails app.
Ceci est l'extrait de code qui se traduit par une erreur 400 (ce qui signifie qu'il y avait un paramètre incorrect)
@postcontent = @post.content.gsub(/<\/?[^>]*>/, "") post = Tumblr::Post.create(:email => 'valid@email', :password => 'mypassword', :type => 'video', :embed
=> @ post.video_html,: caption => @postcontent)
J'ai vérifié l'API docs et vérifié le contenu de mon code et le code étant rendu, et il ne veut toujours pas au travail.
La chose drôle est que cela a fonctionné précédemment. Il travaillait il y a environ une semaine. Est-ce que quelque chose a changé avec tumblr?
Mise à jour: J'ai posté ceci sur github dans la section des questions, et a découvert que c'est seulement avec un de mes messages que cette méthode ne fonctionne pas et je l'ai envoyé vers les bonnes personnes à tumblr. Quelqu'un at-il eu ce problème?
La solution
Je travaille this out ...
pour toute personne qui trouve des difficultés à voir ici est une solution. Tout d'abord, il y avait une erreur avec le bijou lui-même. Certains besoins de code à modifier. Découvrez cette version de la pierre précieuse: http://github.com/mindreframer/tumblr
En second lieu, comme Tumblr permet html, je fais appel sanitize dans le contrôleur pour faire mon contenu formaté bien et propre.
class PostsController < ApplicationController
include ActionView::Helpers::TextHelper
include ActionView::Helpers::SanitizeHelper
def tumblrsubmit
tumblruser = Tumblr::User.new('valid@email', 'validpass', false)
Tumblr.blog = 'blogname'
@post = Post.find(params[:id])
begin
unless @post.movie_id.nil? #checks if there is a movie ID
@tags = @post.tags.join(', ')
post = Tumblr::Post.create(tumblruser,
:type => 'video',
:embed => @post.video_html , #fetches the stored embed code
:caption => "Read Full Article & More at: <a href='http://www.mywebsite.com/posts/#{@post.slug}'>#{@post.title}</a> <p> </p>#{ActionController::Base.helpers.sanitize(@post.content)}",
:slug => @post.slug,
:tags => @tags )
else
post = Tumblr::Post.create(:tumblruser, :type => 'regular', :title => @post.title, :body => ActionController::Base.helpers.sanitize(@post.content), :slug => @post.slug)
end
@post.update_attributes(:tumbler_id => "#{post}") #updates the database with the new tumblr post id
flash[:notice] = "Successfully sent <strong>#{@post.title}</strong> to tumblr. with post id = #{post}"
rescue
flash[:error] = "You are unable to post <strong>#{@post.title}</strong> to tumblr at this time"
end
redirect_to :back
end
end
Je sais que cela semble beaucoup, mais il fait le travail. Espérons que cela aide quelqu'un d'autre là-bas.
Cordialement, Matenia