当前位置: 首页 > 知识库问答 >
问题:

Laravel5.8中guzzle对oauth2的访问密钥请求

虞展
2023-03-14

curl--请求POST\--url'https://login.mailchimp.com/oauth2/token'\--data“grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri={encoded_url}&code={code}”\--include

我已经尝试了curl和javascript,但是mailchimp不接受javascript请求,这是我使用的代码:

$http = new Client(['base_uri' => 'https://login.mailchimp.com/oauth2', 
 'defaults' => [
                'exceptions' => false ],
    'header' => [
        'Accept' => 'application/json',
        'Content-Type' => 'application/x-www-form-urlencoded'
    ],
    'verify' => false
    ]);
    $result = $http->request('POST','/token', [
    'form_params' => [
        'grant_type' => 'authorization_code',
        'client_id' => $this->client_id,
        'client_secret' => $this->client_secret,
        'redirect_uri' => $this->redirect_uri,
        'code' => $code,
        ],
    ]);
    $response = $result->send();
    $responseBody = $response->getBody(true);
    var_dump($responseBody);
    die();

预期的实际结果是:“access_token”:“5C6CCC561059AA386DA9D112215BAE55”,“expires_in”:0,“scope”:NULL但是我的错误客户端错误:post https://login.mailchimp.com/token导致404 Not found响应:

共有1个答案

岳卓君
2023-03-14

由于Guzzle的工作方式,您使用的是绝对URI。

首先设置base_uri:

$http = new Client(['base_uri' => 'https://login.mailchimp.com/oauth2']);

然后提出请求:

$http->request('POST', '/token')
 类似资料:
  • 我试图编译代码时遇到了这个异常。我已经安装了eclips工具包,我正在使用EclipseKepler 异常线程"main"java.lang.NoClassDefFoundError: org/apache/共用/日志/LogFactory在com.amazonaws.Amazon WebServiceClient.(Amazon WebServiceClient.java:56)在test_to

  • 是否有一种方法可以使用Delphi访问Azure密钥库?我可以使用柏林的data.cloud.azureapi单元访问数据库和blob存储,但想从密钥库中获取数据库连接字符串,但似乎找不到任何用于此操作的代码。

  • 我使用的是REST-保证库,我在访问下面JSON响应中的一个特定的键时遇到了一个非常奇怪的问题,这是我代码中的一个对象。 我能够访问其他字段,如,,等使用(或类似),但返回一个空字符串,而它预计将返回"#155"值。

  • 我在Google Cloud上创建了一个存储桶,其中包含一个JSON文件。我希望通过某种基本形式的身份验证访问此JSON,例如API密钥 我在谷歌云上创建了一个API密钥,没有任何限制 当我尝试使用API密钥以文档格式执行GET请求时,例如: https://storage.googleapis.com/BUCKETNAME/JSONNAME?API_KEY=APIKEYNAME 它返回以下内容

  • 我有一个使用Bosh部署的concourse环境。它配置有AWS机密管理器。管道机密模板的格式为 我在AWS秘密管理器(其他类型的秘密)中创建了一个秘密,其值如下。 我在团队中设置了一个总汇管道。

  • 我有一个用例,其中kms密钥将用于加密和解密数据。如何确保只有特定的lambda才能够使用AWS polices的kms密钥。 我尝试在创建kms键策略时添加Lambda ARN,但看起来它不允许这样做。 我如何实现我的用例?