无法从 laravel 控制器验证 Blogger Rest Api

问题描述 投票:0回答:1
    $data = [
        'kind' => 'blogger#post',
        'blog' => [
            'id' => $bloggerId,
        ],
        'title' => $title,
        'content' => $content,
        // Add other parameters as needed
    ];

    $client = new Client();
    $url = "https://www.googleapis.com/blogger/v3/blogs/{$bloggerId}/posts/";

    try {
        $response = $client->get($url);
        $data = json_decode($response->getBody(), true);

        return response()->json(['success' => true, 'data' => $data]);
    } catch (\Exception $e) {
        return response()->json(['success' => false, 'error' => $e->getMessage()]);
    }

我尝试在博客中发帖 从 Laravel 控制器 但未能通过验证从 Laravel 控制器通过 REST API 发布帖子博客

laravel rest blogger
1个回答
0
投票

您遇到的问题可能是由于缺少身份验证造成的。 Blogger API 需要 OAuth 2.0 进行身份验证。您必须在授权 HTTP 标头中传递访问令牌,格式为

Authorization: Bearer your-access-token

$accessToken = 'your-access-token'; // Replace with your actual access token

$data = [
    'kind' => 'blogger#post',
    'blog' => [
        'id' => $bloggerId,
    ],
    'title' => $title,
    'content' => $content,
    // Add other parameters as needed
];

$client = new Client();
$url = "https://www.googleapis.com/blogger/v3/blogs/{$bloggerId}/posts/";

try {
    $response = $client->post($url, [
        'headers' => [
            'Authorization' => 'Bearer ' . $accessToken,
            'Content-Type' => 'application/json',
        ],
        'json' => $data
    ]);

    $data = json_decode($response->getBody(), true);

    return response()->json(['success' => true, 'data' => $data]);
} catch (\Exception $e) {
    return response()->json(['success' => false, 'error' => $e->getMessage()]);
}

此代码将使用身份验证标头向 Blogger API 发送 POST 请求。

© www.soinside.com 2019 - 2024. All rights reserved.