使用Google Api将帖子添加到Blogger使用服务帐户密钥

时间:2017-05-31 04:08:32

标签: php google-api

我正在尝试创建使用Google API将文章发布到Blogger的php脚本。我正在使用库google/apiclient:^2.0。我选择使用服务帐户密钥。这是我的代码:

require_once '../../vendor/autoload.php';

try {
    putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/../../credentials/BeMine92929929.json');
    $client = new Google_Client();
    $client->setApplicationName('Be Mine');
    $client->useApplicationDefaultCredentials();
    $client->addScope(Google_Service_Blogger::BLOGGER);
    $token = $client->fetchAccessTokenWithAssertion();
    $client->setAccessToken($token);
    // I dump $token here, and it's available. token generation is success.

    $service = new Google_Service_Blogger($client);
    $blog = $service->blogs->getByUrl('http://bemine.blogspot.com');

    //this is part for sending post into blogger, which is getting
    //error
    $post = new Google_Service_Blogger_Post();
    $post->setTitle('Coba Post Artikel Kedua');
    $post->setContent('Artikel kedua ini dikirim melalui layanan Blogger api.');
    $service->posts->insert('Here Is My Blog ID', $post);

    //If I comment posting part, and try to get list article of
    //my blog, It success.   
    $posts = $service->posts->listPosts($blog->getId());
    //file_put_contents('/tmp/anarky.txt', var_export($posts, true));
} catch (\Exception $ex) {
    echo $ex->getMessage();
}

我尝试发表文章时的回复:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "We're sorry, but you don't have permission to access this resource."
   }
  ],
  "code": 403,
  "message": "We're sorry, but you don't have permission to access this resource."
 }
}

我想念什么需要你的建议,谢谢你。

0 个答案:

没有答案