以前,重新授予OAuth权限没有问题,因为您无需撤消访问权限即可重新授予访问权限。
是什么原因导致“授权码已被声明”?
我知道这个错误听起来很明显,但是我找不到有关此错误的文档,并且我相信除非端点没有生成新的授权代码,否则不应发生这种情况。我想知道是否需要花费一定的时间才能重新授予访问权限,尽管在我的项目中实施Square Up时从未遇到过这个问题。
答案 0 :(得分:0)
该消息表示Authorize端点已经使用了从ObtainToken端点返回的授权代码。如果您需要新的授权码,则需要让商家/客户再次经历“授权”流程,以便生成新的授权码。
话虽如此,您提到“重新授予”访问权限。要重新授予某人访问权限(已经拥有访问权限),您不需要遍历授权流程(这意味着您无需使用授权码)。您只需要经过RenewToken端点,该端点仅需要您的client_id
和要续订的access_token
。如果他们不再具有访问权限(他们的访问权限已被撤消或过期),那么您将需要再次遍历整个“授权”流程。
答案 1 :(得分:0)
我遇到了同样的问题-在我的代码中,我正在检查CURL_EXEC是否有错误,然后再次运行CURL_EXEC,从而导致了问题。我只是消除了错误检查。
if(!curl_exec($curl)){
return 'Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl);
}
$ch = curl_exec ($curl);