微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(ssg-wsg) 错误:不允许访问此 API

如何解决(ssg-wsg) 错误:不允许访问此 API

我尝试连接到以下 API https://api.ssg-wsg.sg/grantCalculators/individual。我收到以下错误“不允许访问此 API”。这些技能 Future API 是否存在任何 UAT?谢谢!

我的订阅 [1]:https://i.stack.imgur.com/5ZgiQ.jpg

我的代码 尝试 {

            if (Session["access_token"]==null)
            {
                txtResult.Text = "Generate Token first.";
                    return;
            }                

            ServicePointManager.Expect100Continue = true;
            ServicePointManager.DefaultConnectionLimit = 9999;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
           // string url = "https://mock-api.ssg-wsg.sg/grantCalculators/individual";
            string url = "https://public-api.ssg-wsg.sg/grantCalculators/individual";
            // string url = "https://api.ssg-wsg.sg/grantCalculators/individual";
            // string data = "{\"trainingPartnerUen\":\"198201025C11\",\"courseReferenceNumber\":\"TGS-0026008-ES\"}";
            string data = "{\"trainingPartnerUen\":\"" + txtUEN.Text + "\",\"courseReferenceNumber\":\"";
            data+=txtReferenceNumber.Text+ "\",\"}";
            //url = url + data;
            WebRequest myReq = WebRequest.Create(url);              
            myReq.Method = "POST";
            string accesTocken = Session["access_token"].ToString();
            myReq.ContentType =  "application/json";
            using (var streamWriter = new StreamWriter(myReq.GetRequestStream()))
            { 
                streamWriter.Write(data);
            }
           
            myReq.Headers.Add("Authorization","Bearer  " + accesTocken);
            var httpResponse = (HttpWebResponse)myReq.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
                txtResult.Text=result;
            }             
           


            
        }
        catch (WebException webex)
        {
            WebResponse errResp = webex.Response;
            using (Stream respStream = errResp.GetResponseStream())
            {
                StreamReader reader = new StreamReader(respStream);
                string text = reader.ReadToEnd();
                txtResult.Text = text;
            }
        }
        catch (Exception ex)
        {
            txtResult.Text = ex.Message;
        }

解决方法

我尝试运行您的代码,发现问题出在以下行,其中 Bearer 后有一个双空格,导致无法识别访问令牌。

myReq.Headers.Add("Authorization","Bearer  " + accesTocken);

解决方案:

myReq.Headers.Add("Authorization","Bearer " + accesTocken);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?