Lightroom - LrHttp没有执行

我目前正在为Lightroom开发一个插件,该插件基本上需要为用户登录并帮助他将照片上传到网站。不幸的是,我陷入了以下问题:

  • LrHttp似乎无法工作。在执行后,它会给我一个“nil”值。

我知道通常需要一点时间才能执行请求,并认为这可能是LrHttp已经在运行,而代码的其余部分也一直在运行的问题。因此,我寻找了使LrHttp同步运行的方法,但不幸的是没有成功。

下面是似乎无法正常工作的代码部分 - 函数Picsize.login(email,password)。

if doingLogin then return end
doingLogin = true

LrFunctionContext.postAsyncTaskWithContext(“PICSIZE登录”,

function(context)

    if not propertyTable.LR_editingExistingPublishConnection then
        notLoggedIn(propertyTable)
    end

    propertyTable.accountStatus = LOC“$$$/Picsize/AccountStatus/LoggingIn=Entrando...”
    propertyTable.loginButtonEnabled = false

    LrDialogs.attachErrorDialogToFunctionContext(context)

    context:addCleanupHandler(function()

        doingLogin = false

        if not storedCredentialsAreValid(propertyTable)then
            notLoggedIn(propertyTable)
        end

    end)

    local email,password = PicsizeAPI.getCredentials()

    if authRequestDialogResult == 'cancel' then
        return
    end

    propertyTable.accountStatus = LOC“$$$/Picsize/AccountStatus/WaitingForPicsize=Aguardando uma resposta da plataforma PICSIZE...”

    -- 这部分似乎无法正常工作
    local token = PicsizeAPI.login(email,password)

    if not token then
        return
    end

    local userData = PicsizeAPI.getUserData(token)

    if not userData then
        return
    end

    propertyTable.display_name = userData.display_name
    propertyTable.display_email = userData.display_email
    propertyTable.token = token

    PicsizeUser.updateUserStatusTextBindings(propertyTable)

end)

在函数Picsize.login(email,password)中,我们有:

local request = getFormatedRequest(
    '/auth/login',
    { email = email,password = password },
    {{ field ='Content-Type',value ='application / json'}}
)

local response,headers = LrHttp.post(request.url,request.body,request.headers)

如果响应,则返回响应令牌
否则,返回空
}

如果有人能帮助我或给出一些克服这个问题的提示,我将不胜感激:) 感谢!

点赞