Lightroom-LrHttp未执行

时间:2019-12-17 09:12:47

标签: lua lightroom

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

  • LrHttp似乎不起作用。 “执行”后,它给了我“零”的价值。

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

在下面,您可以看到似乎无效的代码部分-函数Picsize.login(电子邮件,密码)。

if doingLogin then return end
doingLogin = true

LrFunctionContext.postAsyncTaskWithContext( 'PICSIZE login',

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..."


    -- this piece seems not to work
    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函数(电子邮件,密码)中,我们具有:

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)

if response then
    return response.token
else
    return nil
end

如果有人帮助我或提供一些克服它的技巧,我将非常感激:)谢谢!

0 个答案:

没有答案