Проблема с использованием метода publishUserAction для публикации в профиле - PullRequest
0 голосов
/ 27 января 2011

Я использую gigya php sdk. Он работает хорошо. Я могу публиковать сообщения на стене или в профиле пользователя с помощью метода socialise.setStatus, но у меня возникают проблемы при попытке использовать метод publishuseraction. Я получаю ошибку Недопустимая подпись запроса.

$method = "socialize.publishUserAction";

$request = new GSRequest($apiKey,$secretKey,$method);

$userAction = new GSDictionary("{\"title\":\"This is my title\", \"userMessage\":\"This is a user message\", \"description\":\"This is a description\",      \"linkBack\":\"http://google.com\", \"mediaItems\":[{\"src\":\"http://www.f2h.co.il/logo.jpg\", \"href\":\"http://www.f2h.co.il\",\"type\":\"image\"}]}"); 

$request->setParam("userAction", $userAction);  

$request->setParam("uid", $userUID);  

$response = $request->send();

if($response->getErrorCode()==0){ 
    echo "Success";   
} else { 
    echo ("Error: " . $response->getErrorMessage());
}

ОБНОВЛЕНИЕ ПОСЛЕ ИСПОЛЬЗОВАНИЯ $ response-> getLog ()

apiMethod=socialize.publishUserAction
apiKey=correct_api_key
params={"userAction":{},uid":"MY_UID","format":"json","httpStatusCodes":"false"}
URL=http://socialize.gigya.com/socialize.publishUserAction    postData=uid=urlencoded(MY_UID)&format=json&httpStatusCodes=false&apiKey=correct_api_key×tamp=1296229876&nonce=1.29622987636E%2B12&sig=HEdzy%2BzxetV8QvTDjdsdMWh0%2Fz8%3D
server= web504

Я использовал оба метода пут

$userAction = new GSDictionary();

$userAction->put("title", "This is my title");
$userAction->put("userMessage", "This is my user message");
$userAction->put("description", "This is my description");
$userAction->put("linkBack", "http://google.com");

$mediaItems = array();
$mediaItems[0] = new GSDictionary("{\"src\":\"http://www.f2h.co.il/logo.jpg\", \"href\":\"http://www.f2h.co.il\",\"type\":\"image\"}");

& JSON метод

$userAction = new GSDictionary("{\"title\":\"This is my title\", \"userMessage\":\"This is a user message\", \"description\":\"This is a description\", 
     \"linkBack\":\"http://google.com\", \"mediaItems\":[ {\"src\":\"http://www.f2h.co.il/logo.jpg\", \"href\":\"http://www.f2h.co.il\",\"type\":\"image\"}]}");

Я получаю ту же ошибку. И действие пользователя пусто, используя оба метода. Я ценю любую помощь.

Спасибо.

1 Ответ

0 голосов
/ 27 января 2011

Попробуйте вызвать getLog () для получения дополнительной информации об ошибке:

<code>if($response->getErrorCode()==0){ 
    echo "Success";   
} else { 
    echo ("Error: " . $response->getErrorMessage());
    print "<pre>";
    print_r($response->getLog());
    print "
";}

Также, вы можете запустить getUserInfo с SDK?простой тест, который также требует подписи. Используйте пример на странице PHP SDK (примерно на полпути вниз).

...