Google検索コンソールAPIクライアント(PHP)に奇妙な問題があります。昨晩は(最終的には)動作していましたが、今朝はまったく同じコードが動作しなくなりました。検索アナリティクスのデータを取得する代わりに、「Invalid Credentials」という401エラーが表示されます。Google検索コンソールAPI(PHP) - 1日後に翌日許可する「無効な認証情報」エラー
編集:setSubjectはその昨夜なしで作業していたのでコメントアウトしました。私は今日コメントしてコメントをつけてコメントを外していますが、どちらもうまくいきませんでした。
編集2:私はこれを修正したと思った。スコープを変更して、Search Console APIの両方のスコープがあるようにしました。データのダウンロードが再開されました。その後、1〜2時間後に再び「無効な資格情報」エラーが返され始めました。私は$スコープ配列内のスコープの位置を入れ替えて、再び動作を開始しました。どこかに何か問題があるようです。
$result = $google->getSearchAnalytics();
var_dump($result);
私は401「無効な資格証明」を取得し、このコントローラをトリガールートを訪問
:namespace App\Services;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Config;
class Google {
private function googleApiAuthorise()
{
$client = new \Google_Client();
putenv('GOOGLE_APPLICATION_CREDENTIALS=/keys/Tool-xxxxxxxxxx.json');
$client->useApplicationDefaultCredentials();
//$client->setSubject('[email protected]');
$scopes = ['https://www.googleapis.com/auth/webmasters.readonly'];
$client->setScopes($scopes);
if($client->isAccessTokenExpired()) {
$client->refreshTokenWithAssertion();
}
return $client;
}
public function getSearchAnalytics()
{
$client = Google::googleApiAuthorise();
$service = new \Google_Service_Webmasters($client);
$request = new \Google_Service_Webmasters_SearchAnalyticsQueryRequest;
$request->setStartRow(0);
$request->setStartDate('2016-06-01');
$request->setEndDate('2016-10-02');
$request->setSearchType('web');
$request->setRowLimit(100);
$request->setDimensions(array('query','country','device','page'));
$query_search = $service->searchanalytics->query("http://www.example.com/", $request);
$rows = $query_search->getRows();
return $rows;
}
}
私は、コントローラを持っている:
は、ここに私のコードです。このコードは、昨夜、このコードをGoogleのSearch Console APIの作業結果と結果を返すように繰り返していきたいと思います。
私は今、OAuthを使用していると思いますが、それにも問題があります。 – DL1984