使用publishUserAction方法发布到配置文件的问题

时间:2011-01-27 09:50:21

标签: php sdk gigya

我正在使用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

我使用了put方法

$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 :(得分:0)

尝试调用getLog()以获取有关错误的更多信息:

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

另外,你能用SDK运行getUserInfo吗?这是一个简单的测试,也需要签名。请使用 PHP SDK 页面上的示例(约1/2向下)。