【问题标题】:Facebook has publish_actions but still throws (#100) No permission to publish the video for some usersFacebook 有 publish_actions 但仍然抛出 (#100) 没有权限为某些用户发布视频
【发布时间】:2016-11-01 02:09:25
【问题描述】:

我的代码中有以下权限,并且 Facebook 已批准 public_profile、publish_actions、publish_pages。为什么我可以以编程方式为某些用户发布视频,而其他用户却遇到权限问题?

scope: 'email,publish_actions,publish_pages'

上传代码

  def start_upload
    response = request(upload_phase: :start, file_size: File.size("#{episode_file_path}"))
    if response.code == '200'
      @upload_session_id = JSON.parse(response.body)["upload_session_id"]
    else
      raise response.body
    end
  end

  def transfer_upload
    response =JSON.parse(transfer_file)
    if response["start_offset"] != response["end_offset"]
      raise response
    end
  end

  def finish_upload
    response = request(upload_phase: :finish, title: @title, description: @description)
    if response.code != '200'
      raise response.body
    end
  end

  def url
    "https://graph-video.facebook.com/v2.3/#{@post_id}/videos"
  end

  def episode_file_path
    "#{Rails.root}/public/episode_soundbite/#{@episode_id}/video.mp4"
  end

  def request(params)
    Net::HTTP.post_form(URI.parse(url), params.merge(access_token: @oauth_token, upload_session_id: @upload_session_id))
  end

  def transfer_file
    command =  "curl -X POST \"#{url}\"  \
                      -F \"access_token=#{@oauth_token}\" \
                      -F \"upload_phase=transfer\" \
                      -F \"start_offset=0\" \
                      -F \"upload_session_id=#{@upload_session_id}\" \
                      -F \"video_file_chunk=@#{episode_file_path}\""

    response = ''
    IO.popen('-') { |p|
      if p.nil? then
        $stderr.close
         exec command
      end
      response  = p.read
    }
    return response
  end

【问题讨论】:

  • 用户可以选择不向您的应用授予该权限。你需要处理这种情况
  • 我问一个用户是否这样做,他们给我发了一张在他们的 facebook 帐户上启用的 public_action 的屏幕截图,但它仍然对他们不起作用。我需要 manage_pages 权限吗?
  • 如果要发布到页面,需要manage_pages。
  • 这就是答案。不知道为什么有些用户仍然能够使用 public_posts 选项发布到页面,以及为什么其他用户需要 manage_pages 选项。谢谢!

标签: facebook facebook-graph-api


【解决方案1】:

我必须将 manage_pages 添加到范围

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2013-07-27
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多