google docsスプレッドシートからデータを取得しようとしていますが、これは機能するはずです(ここにある別の同様の質問でも同様のコードが見られます)が、得られる応答は次のとおりです。
Moved Temporarily
The document has moved here.
存在へのリンクhere
:
https://www.google.com/a/4playtheband.co.uk/ServiceLogin?service=wise&continue=https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl%3Den_US%26hl%3Den_US%26key%3D0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc%26single%3Dtrue%26gid%3D0%26output%3Dcsv%26ndplr%3D1&followup=https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl%3Den_US%26hl%3Den_US%26key%3D0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc%26single%3Dtrue%26gid%3D0%26output%3Dcsv%26ndplr%3D1&hl=en_US&passive=true&go=true
問題がGoogleApps内で使用されている問題のドキュメントにあるのかどうかはわかりませんが、スプレッドシートを公開に設定し、移動時に提供されたリンクをコピーしShare
てcsvとしてエクスポートしました。
コードは次のとおりです。
<?php
$url='https://docs.google.com/a/4playtheband.co.uk/spreadsheet/pub?hl=en_US&hl=en_US&key=0AuJb1YSvmVn5dGdvUzU2QUJHUGdaTEZNbVI4dVJ6eHc&single=true&gid=0&output=csv';
if (($handle = fopen($url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$totalrows = count($data);
for ($row=0; $row<=$totalrows; $row++)
{
echo $data[$row];
}
}
fclose($handle);
}
?>
問題が発生する可能性がある場合は、フェッチしたデータをフェイスボックス内に配置しようとしていますが、前述のエラーメッセージが実際にフェイスボックス内に表示されるため、実際のスプレッドシートデータが表示されないことを除いて機能しているようです。
ありがとう。
更新 スプレッドシートが、Google Appsで使用しているアカウントではなく、個人のGoogleアカウント内で作成されている場合、コードは完全に正常に機能しているようです。