2011-06-29 30 views
7

我試圖讓用戶使用FlickrNet庫/ API從Asp.net應用程序上傳視頻到Flickr。我從Flickr獲得了一個API密鑰和一個API密鑰。此外,我使用FlickrNet庫中的AuthGetFrob方法檢索authToken。Flickr'Invalid auth token(98)'從Asp.net上傳視頻應用程序

我使用語句如下

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using FlickrNet; 

我已經創建了兩個方法來完成這個任務。

private string GetAuthenticateToken() 
{ 
    Flickr flickr = new Flickr(FLICKR_API_KEY, FLICKR_API_SECRET); 

    string frob = flickr.AuthGetFrob(); 

    return flickr.AuthCalcUrl(frob, AuthLevel.Write); 
} 

,一個在上傳文件使用

其中一個獲取並返回的authToken說的authToken

public void UploadFile(string fileName, string title, string description) 
{ 
    try 
    { 

     string authToken = GetAuthenticateToken(); 

     Flickr flickr = new Flickr(FLICKR_API_KEY, FLICKR_API_SECRET, authToken); 


     string photoId = flickr.UploadPicture(fileName, title, description, "", true, false, false); 
     } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

然而,當我撥打電話,以 'UploadPicture' 的拋出異常。 '驗證令牌無效(98)'。

AuthRequest Http請求的內容如下所示。

<?xml version="1.0" encoding="utf-8" ?> 
<rsp stat="ok"> 
<frob>72157627073829842-9d8e31b9dcf41ea1-162888</frob> 
</rsp> 

而上傳方法Http請求的內容如下所示。

<?xml version="1.0" encoding="utf-8" ?> 
<rsp stat="fail"> 
    <err code="98" msg="Invalid auth token" /> 
</rsp> 

我看到的Flickr論壇here類似的職位,但根據我的理解,看來,我做的一切權利,但仍找不出什麼我做錯了。

任何幫助將不勝感激。

回答

5

好吧,我不想回答我自己的問題,尤其是那些沒有得到任何投票,沒有答案和很少看法的問題,但是無論如何,我從Flickr獲得的支持答覆都是如此,所以我想我可能也會發布帖子它在這裏是爲了防止別人認爲有用。

AuthCalcUrl返回一個URL,而不是實際的身份驗證令牌。此外,這更適用於桌面驗證,而不是基於Web的驗證。您鏈接到的論壇帖子正在談論移動身份驗證。 對於Web身份驗證,您需要follow the flow detailed here: 因此您調用Flickr.AuthCalcWebUrl,然後將用戶重定向到該URL。 然後,當他們通過身份驗證後,他們將被髮送到設置在您的API密鑰設置中的回叫URL。這個URL將包括一個frob。 然後最後在回調url網頁中,您可以從querystring中獲取frob並調用Flickr.AuthGetToken(frob); 如果你想看到這個動作,然後從示例頁面下載示例ASP.Net網站。

相關問題