c# - Flickr 'Invalid auth token (98)' 从 Asp.net 应用程序上传视频

标签 c# asp.net flickr

我正在尝试允许用户使用 FlickrNet 库/API 从 Asp.net 应用程序将视频上​​传到 Flickr。我从 Flickr 获得了一个 API key 和一个 API secret 。此外,我正在使用 FlickrNet 库中的 AuthGetFrob 方法检索 authToken。

我的使用说明如下

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

我创建了两种方法来完成这项任务。

一个获取并返回 AuthToken

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

    string frob = flickr.AuthGetFrob();

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

其中之一使用该 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”时,会抛出以下异常。 “无效的身份验证 token (98)”。

AuthRequest Http 请求的内容如下所示。

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

Upload methods Http 请求的内容如下所示。

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

我在 flickr 论坛上看到了类似的帖子 here但根据我的理解,似乎我做的一切都是对的,但仍然无法弄清楚我做错了什么。

如有任何帮助,我们将不胜感激。

最佳答案

好吧,我讨厌回答我自己的问题,尤其是那些没有投票、没有答案、观点很少的问题,但是尽管如此,我还是从 Flickr 的支持人员那里得到了答案,所以我想我还是把它贴出来这里是为了以防其他人发现这个有用。

AuthCalcUrl 返回一个 URL,而不是实际的身份验证 token 。这也更适用于桌面身份验证,而不是基于 Web 的身份验证。您链接到的论坛帖子正在谈论移动身份验证。 对于 Web 身份验证,您需要 follow the flow detailed here: 因此,您调用 Flickr.AuthCalcWebUrl,然后将用户重定向到该 URL。 然后,当他们通过身份验证时,他们将被发送到在您的 API key 设置中设置的回调 URL。此 URL 将包含一个 frob。 然后最后在回调 url 网页中从查询字符串中获取 frob 并调用 Flickr.AuthGetToken(frob); 如果您想实际查看此操作,请从示例页面下载示例 ASP.Net 网站。

关于c# - Flickr 'Invalid auth token (98)' 从 Asp.net 应用程序上传视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515768/

相关文章:

c# - 如何在 C# 中创建可供 MATLAB 使用的 .net 程序集?

html - Bootstrap 模板迁移到 ASP.NET 4.5 表单 - 全 Angular 呈现问题

android - Flickr-Android API : Oauth is not redirecting to 'grant-access' page

javascript - 页面加载后加载简单的JS代码?

ASP.Net Response.Redirect 在 Application_Error 中不起作用?

ios - NSInvalidArgumentException 原因 : data parameter is nil in UITableView while trying to display the Flickr images

c# - 私有(private)方法参数

c# - 当服务器在线或离线时如何使事物交互

c# - 创建自定义 NewtonSoft JSON 转换器

c# - 隐藏页面 url asp.net