Class: InstagramConnect::PostsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/instagram_connect/posts_controller.rb

Overview

Publishing: list the account's own media and publish a new image post (container -> publish). Reels/video/carousel are a documented follow-on.

Instance Method Summary collapse

Instance Method Details

#createObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/instagram_connect/posts_controller.rb', line 16

def create
  client = client_for(@account)
  container = client.create_media_container(image_url: params[:image_url], caption: params[:caption])
  return redirect_to new_post_path, alert: container.error_message if container.failure?

  published = client.publish_media(creation_id: container.id)
  if published.success?
    redirect_to posts_path, notice: "Published to Instagram."
  else
    redirect_to new_post_path, alert: published.error_message
  end
end

#indexObject



7
8
9
10
11
# File 'app/controllers/instagram_connect/posts_controller.rb', line 7

def index
  client = client_for(@account)
  @media = Array(client.list_media.data["data"])
  @quota_usage = client.publishing_limit.data.dig("data", 0, "quota_usage")
end

#newObject



13
14
# File 'app/controllers/instagram_connect/posts_controller.rb', line 13

def new
end