2011-09-10 24 views
1

我一直在嘗試連接到Salesforce REST API,但沒有很好的運氣。 Salesforce REST API Quick Start Guide指出需要HTTPS回調網址,但在此示例中它們使用https://localhost:8443/RestTest/oauth/_callback作爲回調網址。Salesforce REST API回調URL是否需要HTTPS?

我試着使用這個php Salesforce REST API example在我的測試服務器(HTTP)上連接,但是Salesforce似乎已經合適並且進入了重定向循環。

如果我沒有SSL證書,是否可以連接到Salesforce REST API?如果有,我該怎麼做?爲了記錄,我的應用程序是用PHP編寫的,而不是像大多數官方示例那樣使用Java。

+0

你想通過舉例來說明什麼?這個例子是HTTPS。 「但」是什麼? –

+0

但它在「localhost」的開發環境中。如果可以在本地主機上使用https,我很想知道如何。 – TrentonMcManus

+0

是什麼讓'localhost'如此特別? http://www.google.com.au/search?sourceid=chrome&ie=UTF-8&q=https+on+apache或http://www.google.com.au/search?aq=f&sourceid=chrome&ie=UTF- 8&q = https + on + iis - 只需獲得證書即可離開。 –

回答

1

我從來沒有使用Salesforce REST API,但我已經閱讀了您鏈接到的頁面。

OAuth回調URL必須是HTTPS。你似乎已經發現了這個自己的文件都在:

它必須是安全的:HTTP://不起作用,只有https://開頭

...和示例:

@WebInitParam(name = "redirectUri", value = 
    "https://localhost:8443/RestTest/oauth/_callback") 

至於你的其他問題:

是否可以連接到Salesforce的REST API,如果我沒有一個SSL證書,如果是的話,我該怎麼做呢?

大概用第二種方法,如在第一句中提到的網頁上鍊接到您:

您可以使用OAuth 2.0 建立授權或傳遞一個會話ID

...

會話ID授權

您可以使用一個會話ID,而不是一個OAuth 2.0訪問令牌,如果你不處理別人的密碼:

  1. 獲得一個會話ID,例如,SOAP Web服務API login()調用返回會話ID。您也可以擁有會話ID,例如作爲Apex當前上下文的一部分。

  2. 向資源發送請求時使用會話ID。替換標記值的ID。

所以,只要你是不是處理一些其他的密碼(知道是什麼意思),你可以使用login()獲得一個會話ID,並從那裏與Web服務進行通信。

+0

只要您在Callback Url爲https的地方運行,[PHP Salesforce REST API示例](https ://github.com/petewarden/salesforce_restphp_example/blob/master/index.php)的作品。 – TrentonMcManus