1

我必须制作一个 PHP 脚本,它会使用 API 自动将数据上传到 Google Analytics。但是有一个问题:开发人员指南仅针对 python 和 java 编写。PHP 的 Google APIs 客户端库已经有上传方法。请帮我把这个java代码翻译成PHP:

  File file = new File("data.csv");
  InputStreamContent mediaContent = new InputStreamContent('application/octet-stream', new FileInputStream(file));
  mediaContent.setLength(file.length());
  Upload upload = analytics.management().dailyUploads().upload("1234",
      "UA-1234-1", "123456789", "2012-10-31", 1, "cost", mediaContent);

  upload.setReset(true);
  DailyUploadAppend append = upload.execute();

或者这个python代码:

media = MediaFileUpload('data.csv', mimetype='application/octet-stream', resumable=False)

daily_upload = analytics.management().dailyUploads().upload(
      accountId='1234',
      webPropertyId='UA-1234-1',
      customDataSourceId='123456789',
      date='2012-10-31',
      appendNumber=1,
      reset=true,
      type='cost',
      media_body=media).execute()
4

1 回答 1

2

你让这个工作了吗?你试过什么?我不是专家,但我会尝试一下。

他们网站上的 PHP 库肯定支持这一点, Google APIs Client Library for PHP中列出了“dailyUploads”的方法。

$dailyUploadsFile = $service->management_dailyUploads->upload(
   '12345678',                    // your accountID
   'UA-12345678-1',               // your web property ID
   'xXxXxXxXxXxXxXxXxXxXxX',      // your custom data source UID
   '2013-02-04',                  // date
   1,                             // append number
   'cost',                        // type of data
   array(
     "reset" => true,
     "data" => file_get_contents("your-data.csv"),
     'mimeType' => 'application/octet-stream',
     'uploadType' => 'media'));

这一切都来自“Google_ManagementDailyUploadsServiceResource”类。

连接需要进行身份验证。如果您的输入文件包含多天的数据,您可以包含结束日期。

于 2013-02-11T22:40:24.620 回答