• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос [GS] Гитхаб не дает "класть" файлы в репозиторий

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
31 Авг 2022
Сообщения
38
Реакции
8
Короче, пытаюсь юзать гитхаб (ибо я бомж не могу позволить себе репозиторий), вроде на get все круто, все возращает, но вот проблемка, когда я пытаюсь использовать http.put то ошибка 403 (всегда либо на следующий запрос) и если ошибки нет то просто выдает: {"message":"Not Found","documentation_url":"
Пожалуйста, авторизуйтесь для просмотра ссылки.
","status":"404"} (причем гетает все прекрастно)
вот код что я использую:
Код:
Expand Collapse Copy
headers={["Authorization"] = gittoken,["Accept"] = "application/vnd.github.v3+json"}
http.get(link, {headers=headers}, function(sec, resp)
    local content = json.parse(resp.body)
    local sha = content.sha
    current_data = json.parse(base64.decode(content.content))
    current_data["Heia"] = true
    local update_data = json.stringify({
        message = string.format("Hi"),
        content = base64.encode(json.stringify(current_data)),
        sha = sha,
    })
    print(string.format("Getting: success: %s; body: %s;\n data: %s", sec, resp.body, base64.decode(content.content)))
    http.put(link, {headers=headers,body = update_data}, function(sec2, resp2)
        print(string.format("Putting: success: %s; body: %s", sec2, resp2.body))
    end)
end)
 
заливать файлы через апи можно и без put метода
 
вот пример то что выдает:
Код:
Expand Collapse Copy
[gamesense] Getting: success: true; body: {"name":"","path":"","sha":"","size":3,"url":"","html_url":"","git_url":"","download_url":"","type":"file","content":"e30K\n","encoding":"base64","_links":{"self":"","git":"","html":""}};
 data: {}

[gamesense] Putting: success: true; body: {"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/contents#create-or-update-file-contents","status":"404"}
заливать файлы через апи можно и без put метода
ну так а как тогда? Я до этого делал так и всё работало
 
вот пример то что выдает:
Код:
Expand Collapse Copy
[gamesense] Getting: success: true; body: {"name":"","path":"","sha":"","size":3,"url":"","html_url":"","git_url":"","download_url":"","type":"file","content":"e30K\n","encoding":"base64","_links":{"self":"","git":"","html":""}};
 data: {}

[gamesense] Putting: success: true; body: {"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/contents#create-or-update-file-contents","status":"404"}

ну так а как тогда? Я до этого делал так и всё работало
Код:
Expand Collapse Copy
local function update_github_file(steamid, action)
    local headers = {
        ["Authorization"] = "token " .. GITHUB_TOKEN,
        ["Accept"] = "application/vnd.github.v3+json"
    }
 
    local api_url = string.format(
        "https://api.github.com/repos/%s/%s/contents/%s",
        REPO_OWNER, REPO_NAME, FILE_PATH
    )

    http.get(api_url, {headers = headers}, function(success, response)
        if not success then return end
     
        local current_data = {}
        local sha = nil
     
        if response.status == 200 then
            local content = json.parse(response.body)
            sha = content.sha
            current_data = json.parse(base64.decode(content.content))
        end
     
        local update_data = {
            message = string.format("update - %s %s", action, steamid),
            content = base64.encode(json.stringify(current_data)),
            sha = sha
        }
     
        http.put(api_url, {
            headers = headers,
            body = json.stringify(update_data)
        }, function(success, response)

        end)
    end)
end
 
отмена я имбицил просто, забыл перед github_pat дописать token
 
Назад
Сверху Снизу