不然你會遇到 回應訊息 是這樣的錯誤
"{"success":false,"errors":[{"code":9109,"message":"Unauthorized to access requested resource"}],"messages":[],"result":null}"
1. 查看 是否開啟 Development Mode
我整理得很簡單,直接看 Code
HttpClient clientGetZones = new HttpClient();
clientGetZones.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
clientGetZones.DefaultRequestHeaders.Add("Authorization", " Bearer API_TOKEN");
var url1 = "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode";
/*
curl -X GET "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json"
*/
/*
Response Result
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "development_mode",
"value": "off",
"editable": true,
"modified_on": "2014-01-01T05:20:00.12345Z",
"time_remaining": 3600
}
}
*/
var res = clientGetZones.GetAsync(url1).Result.Content.ReadAsStringAsync().Result;
// true for open , false for close
var isOpenDeveloperMode=JObject.Parse(res)["result"]["value"].ToString()!= "off";
2. 開啟或是關閉 ,這裡面就是切換 on or off
HttpClient clientGetZones = new HttpClient();
clientGetZones.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
clientGetZones.DefaultRequestHeaders.Add("Authorization", " Bearer API_TOKEN");
var url1 = "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode";
/*
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"value":"off"}'
*/
HttpRequestMessage requestMessage = new HttpRequestMessage(new HttpMethod("PATCH"), url1);
// For Close Dev Mode.
//requestMessage.Content = new StringContent("{\"value\":\"off\"}", Encoding.UTF8, "application/json");
// For Open Dev Mode.
requestMessage.Content = new StringContent("{\"value\":\"on\"}", Encoding.UTF8, "application/json");
HttpResponseMessage response = clientGetZones.SendAsync(requestMessage).GetAwaiter().GetResult();
var res = response.Content.ReadAsStringAsync().Result.ToString();
//Response :
//{"result":{"id":"development_mode","value":"on","modified_on":"2020-11-27T08:36:27.345871Z","time_remaining":10800,"editable":true},"success":true,"errors":[],"messages":[]}
整理一下,因為有需要所以筆記一下給需要的人,也怕我自己忘記…
--
Before you read this, the article was in a superposition of human and AI. Upon observation, the wave function collapsed into a sleep-deprived developer.