У меня проблема с авторизацией в oauth2 google picasa API PHP.Требуется авторизация oauth2 веб-альбом google picasa
Я создал следующий код:
$fields_param_string="code=".$_GET["code"]."&
client_id=XXXXXXXXXX.apps.googleusercontent.com&
client_secret=rY5sYxXXXXXXXXX&
redirect_uri=".urlencode("http://www.EXAMPLE.pl/upload.php").
"&grant_type=authorization_code";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_param_string);
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type: application/x-www-form-urlencoded"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
Тогда я получаю правильный ответ (я заменил некоторые данные не взломать его):
"access_token": "ya29.iXXXXXXXXXXXXXX",
"token_type": "Bearer",
"expires_in": 3600,
"id_token":
"eyJhbXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Затем я запустить следующие действия для создания альбом галерея:
$json = json_decode($response, true);
$url="https://picasaweb.google.com/data/feed/api/user/default";
$myvars="<entry xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gphoto='http://schemas.google.com/photos/2007'>
<title type='text'>".$wierszAD["THE_NAME_OF_ALBUM"]."</title>
<summary type='text'>".$wierszAD[""]."</summary>
<gphoto:location>Poland</gphoto:location>
<gphoto:access>private</gphoto:access>
<gphoto:timestamp>1152255600000</gphoto:timestamp>
<media:group>
<media:keywords>".$albumName_url."</media:keywords>
</media:group>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'></category>
</entry>";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type:
application/atom+xml"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
к сожалению, я получаю ошибку:
Authorization required
Если я заменяю следующий код в:
$url="https://picasaweb.google.com/data/feed/api/user
/[email protected]/full?access_token=".$json["access_token"];
Я получаю следующее сообщение об ошибке:
Token invalid - AuthSub token has wrong scope
Так что я не знаю, как разрешить во время работы URL, которые позволяют мне создать альбом picasa.
Пожалуйста, помогите мне.
Я решил это, предоставив правильную область для Picasa, которая является 'https: // picasaweb.google.com/data', хотя и использует API Google. Я не знаю, чтобы установить это через запросы cURL. –
Можете написать полный ответ ниже. – Huey