我正試圖在我的Ruby on Rails應用程序中實現Adobe的Creative SDK。將高分辨率的Adobe Creative SDK從PHP轉換爲Ruby on Rails
https://creativesdk.adobe.com/docs/web/#/articles/highresolution/index.html
我有高分辨率的API所需的訪問。
他們的例子是PHP和Node.js,我正在嘗試編寫基於PHP的Ruby on Rails版本。我已經完成了所有設置,因爲它正確地調用了「authenticationURL」,但是我收到了「無效的authenticationURL響應,請檢查格式化響應。」
我是新手,在這個級別編程,基本上試圖通過參考PHP & Ruby這裏的幾個問題,以及像http://www.phptoruby.com/這樣的網站來解決這個問題。
這裏是PHP:
<!-- /getAuth -->
<?php
$apiKey = "apikey";
$apiSecret = "apisecret";
$salt = rand(0,1000);
$time = time();
$sig = sha1($apiKey . $apiSecret . $time . $salt);
$authObj = array(
"apiKey" => $apiKey,
"salt" => $salt,
"timestamp" => $time,
"encryptionMethod" => 'sha1',
"signature" => $sig
);
echo json_encode($authObj);
?>
這是我目前所面對的(我apikey和apisecret正確輸入):
require 'time'
require 'json'
require 'digest/sha1'
def get_auth
apiKey = 'apikey'
apiSecret = 'apisecret'
salt = "#{0 + rand(1000)}"
time = "#{Time.now.to_i}"
sig = Digest::SHA1.hexdigest('apiKey' + 'apiSecret' + 'time' + 'salt')
authObj = { :apiKey => 'apiKey',
:salt => 'salt',
:timestamp => 'time',
:encryptionMethod => 'sha1',
:signature => 'sig' }
print 'authObj'.to_json
render :fxb
end
我不知道,如果使用print
是在這裏糾正?或者,如果我的問題是一個語法問題......或者完全是其他問題。
問題解決了嗎?我也遇到了同樣的錯誤:「無效的authenticationURL響應,請檢查格式化響應。」我正在使用c#,並且我也可以訪問高分辨率API。向adobe提出投訴,但沒有人迴應。Auth對象是在C#中正確創建的gettin,我將json與auth對象的創意雲文檔測試url進行了比較,但仍然無法正常工作http://jsbin.com/xoxaqoropu/ – adang
好的,我已經爲我解決了問題。在調試縮小的鳥舍js後,我發現我的getAuth函數返回了正確的json(auth),但我必須添加響應頭,以便鳥舍能夠將auth json對象解析爲簽名,時間戳。所以在返回json之前,我必須在getAuth方法中添加下面的代碼。沒有它,鳥舍正在讀取auth json作爲字符串,而不是對象,它沒有解析它。 Response.Clear(); Response.ContentType =「application/json; charset = utf-8」; – adang