首页 > 解决方案 > 如何从本地 Rails 服务器调用 JDoodle API?

问题描述

我正在使用来自本地机器 Rails 服务器的带有有效 ID 和秘密的发布请求调用 JDoodle API。我没有得到想要的回应。如果我做错了,请建议我....

我的 Ruby 函数进行 api 调用

def run_Jddodle_API

        require 'net/http' 
        require 'uri' 
        require 'json' 
        uri = URI.parse("https://api.jdoodle.com/v1/execute") 
        request = Net::HTTP::Post.new(uri) 
        request.content_type = "application/json; charset=UTF-8" 
        request.body = { 
            "clientId" => "ddc371fd*************c8efbae", 
            "clientSecret" => "4ee8e79a225***************************a8ee7f331aeeca603", 
            "script" => "<?php printf(\"hello RAJA\"); ?>", 
            "language" => "php", 
            "versionIndex" => "0" 
        }.to_json
        req_options = { use_ssl: uri.scheme == "https", } 

        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| 
            http.request(request) 
        end 
        puts response.body
    end

回应是

{"error":"Unauthorized Request","statusCode":401}

标签: ruby-on-railsapijdoodle

解决方案


尝试更改此行:

request.content_type = "application/json; charset=UTF-8" 

对此:

request.content_type = "application/json" 

推荐阅读