Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

502: API Services rejected request with error: HTTP 0 (HTTP 403 (HTTP/1.1 403 Forbidden))?

local SaveAddition = script.SaveAddition.Value -- Just a string value
	
	DataStore = game:GetService("DataStoreService"):GetDataStore("OnePiece"..SaveAddition)
	
		local IntegerValues = {
			"Bounty", "Berry", "Banking", "Swimming", "SwimmingExp", "SwimmingMaxExp", 
			"HasCharacter", "Bullets", "Rum", "Crates", "HairStyle", "Quest", "Apples", "Corn", 
			"Wheat", "CopperOre", "IronOre", "Handles", "AppleSlices"
			}
		
		local StringValues = {
			"DevilFruit", "Race", "Imprisoned", "Gender", "Occupation", "Skin"
			}
		
		local NumberValues = {
			"KenHaki", "BusoHaki", "HaoHaki", "HandWork", "FootWork", "SkinColorR", "SavedLocationX", 
			"SavedLocationY", "SavedLocationZ", "Energy", "MaxEnergy", "Health", "MaxHealth", "Stomach", 
			"MaxStomach", "Oxygen", "MaxOxygen", "Cooking", "Swordsmanship", "PowerOutput"
			}


function SaveFunction(Player, DataType, DataHold, Table)
	local key = tostring(Player.userId..DataType)
		DataStore:UpdateAsync(key, function(oldD)
			D = {}
				for i = 1, #Table do
					local Val = DataHold[Table[i]]
					table.insert(D, i, Val.Value)
				end
			D = D
			return D
		end)	
end

function Save(Player)
	while true do
			wait(15)
		local Data = game.ReplicatedStorage.DataFolder[Player.Name.."Data"]
		SaveFunction(Player, "Integer", Data, IntegerValues)
		SaveFunction(Player, "String", Data, StringValues)
		SaveFunction(Player, "Number", Data, NumberValues)
		
	end
end
	
function onPlayerEntered(Player)
		local DataStorage = game.ReplicatedStorage.DataFolder

		if DataStorage:FindFirstChild(Player.Name.."Data") ~= nil then
			DataStorage[Player.Name.."Data"]:remove()
		end
		
		local Data = Instance.new("IntValue", DataStorage) -- All of the Values for Data Go Inside of here.
				 Data.Name = Player.Name.."Data"

					
			-- Insert Integer Values (If There's Any.)	
				for InsertIntegers = 1, #IntegerValues do
					local NewInteger = Instance.new("IntValue", Data)
						NewInteger.Name = IntegerValues[InsertIntegers]
						NewInteger.Value = 0
				end
				-- Insert String Values (If There's Any.)	
				for InsertStrings = 1, #StringValues do
					local NewString = Instance.new("StringValue", Data)
						NewString.Name = StringValues[InsertStrings]
						NewString.Value = ""
				end
				-- Insert Number Values (If There's Any.)	
				for InsertNumbers = 1, #NumberValues do
					local NewNumber = Instance.new("NumberValue", Data)
						NewNumber.Name = NumberValues[InsertNumbers]
						NewNumber.Value = 0
				end
			
	if DataStore:GetAsync(Player.userId.."Integer") ~= nil then
		D = DataStore:GetAsync(Player.userId.."Integer")
		for i, v in pairs(D) do
			Data:FindFirstChild(IntegerValues[i]).Value = v
		end
	else
	end
	
	if DataStore:GetAsync(Player.userId.."String") ~= nil then
		D = DataStore:GetAsync(Player.userId.."String")
		for i, v in pairs(D) do
			Data:FindFirstChild(StringValues[i]).Value = v
		end
	else
	end
	
	if DataStore:GetAsync(Player.userId.."Number") ~= nil then
		D = DataStore:GetAsync(Player.userId.."Number")
		for i, v in pairs(D) do
			Data:FindFirstChild(NumberValues[i]).Value = v
		end
	else
	end
	
	local RunSave = coroutine.wrap(Save)
		RunSave(Player)
	
end

game.Players.ChildAdded:connect(onPlayerEntered)

This is obviously for a one piece game.

I'm throwing this error 16:18:09.489 - 502: API Services rejected request with error: HTTP 0 (HTTP 403 (HTTP/1.1 403 Forbidden)) 16:18:09.490 - Stack Begin 16:18:09.490 - Script 'Workspace.World_Scripts.Core.TomNewDataStore', Line 76 16:18:09.491 - Stack End

and I'm not quite sure what could be causing it. This works fine for me when I play the game, it all saves with no issues. However this throws the error whenever anyone else trys to play.

This script WORKS for ME ONLY, when I enter the game, IN THE GAME SERVER. However when anyone else comes into THE GAME SERVER, it doesn't work for them. I do indeed have the API ENABLED.

I've also tried to run a Local Server with the Network Simulator and got this error

19:34:08.321 - 502: API Services rejected request with error: HTTP 0 (HTTP 418 (Network Simulator))
19:34:08.322 - Stack Begin
19:34:08.323 - Script 'Workspace.World_Scripts.Core.TomNewDataStore', Line 24 - global SaveFunction
19:34:08.324 - Script 'Workspace.World_Scripts.Core.TomNewDataStore', Line 40
19:34:08.325 - Stack End
19:34:08.401 - Network Simulator Http Latency:0.52s, request type:DataStore
19:34:09.040 - Network Simulator Http Latency:0.55s, request type:DataStore
19:34:09.142 - Network Simulator Http Failed, request type:DataStore

I've also managed to pull this error using a mock acc in the studio to check it

20:36:05.654 - 502: API Services rejected request with error: HTTP 0 (HTTP 403 (HTTP/1.1 403 Forbidden))
20:36:05.654 - Stack Begin
20:36:05.655 - Script 'Workspace.World_Scripts.Core.TomNewDataStore', Line 79
20:36:05.656 - Stack End

1 answer

This discussion is preserved as it was. New answers, comments, and votes are closed.