미러 api를 워드 프레스 사이트에 구현하려고하는데 로그인하고 인증을 한 후 사이트가 약 30 초 동안로드하려고 시도하고 리디렉션 루프였습니다.oauth 후 루프를 리다이렉트 한 후 워드 프레스로 미러 API를 사용합니다.
거울 API를 구현하는 방법은 oauth 및 기타 등등 필요한 PHP가있는 템플릿을 작성한 다음 레이아웃, 컨텐츠 등에 빌더를 사용하는 것입니다. WordPress에 문제가있는 것 같지만 아직 희망을 포기하고 싶지 않다.
당신의 도움이편집 주셔서 감사합니다 : 여기가 워드 프레스 페이지 내 템플릿에 사용하고있는 코드입니다.
<?php
/*
Template Name: Glass
*/
require_once $_SERVER['DOCUMENT_ROOT'].'/glass/config.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/glass/mirror-client.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/glass/google-api-php-client/src/Google_Client.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/glass/google-api-php-client/src/contrib/Google_MirrorService.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/glass/util.php';
$client = get_google_api_client();
$message= "";
$subscriptionId;
if(isset($_GET['message']))
$message = $_GET['message'];
if (!isset($_SESSION['userid']) || get_credentials($_SESSION['userid']) == null) {
header('Location: ' . $base_url . '/oauth2callback.php');
exit;
} else {
$client->setAccessToken(get_credentials($_SESSION['userid']));
}
// A glass service for interacting with the Mirror API
$mirror_service = new Google_MirrorService($client);
$subscriptions = $mirror_service->subscriptions->listSubscriptions();
$timeline_subscription_exists = false;
foreach ($subscriptions->getItems() as $subscription) {
if ($subscription->getId() == 'timeline') {
$timeline_subscription_exists = true;
$subscriptionId = $subscription->getId();
}
}
switch ($_GET['operation']){
case 'createSubscription':
$message = subscribe_to_notifications($mirror_service, "timeline",
$_SESSION['userid'], "https://mirrornotifications.appspot.com/forward? url=".$base_url."/notify.php");
//Refresh Page
$mHeader = 'Location: ' . $base_url;
if($message != "")
$mHeader = $mHeader . '?message='.$message;
header($mHeader); exit;
break;
case 'deleteSubscription':
$message = $mirror_service->subscriptions->delete($subscriptionId);
//Refresh Page
$mHeader = 'Location: ' . $base_url;
if($message != "")
$mHeader = $mHeader . '?message='.$message;
header($mHeader);
exit;
break;
case 'refreshCard':
createControlCard($client);
header('Location: ' . $base_url);
exit;
break;
case 'refreshInfo':
generateInfoCards($client);
header('Location: ' . $base_url);
exit;
break;
}
get_header(); ?>
<div id="content" class="widecolumn">
<div id="main">
</div>
</div>
<?php get_footer(); ?>
어떻게하는지 설명하는 코드를 게시 할 수 있습니까? – Prisoner