facebook django 应用程序的 oauth 中的 redirect_uri 错误

2024-01-11

我在从 Facebook 获取我正在尝试编写的 Django 应用程序的访问令牌时遇到问题。我的视图设置如下。

from django.http import HttpResponse, HttpResponseRedirect
from django.template import Context, loader
import urllib, json, sys

APP_ID = 'DDDDDDDDDDDDDDD'
APP_SECRET = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'
MY_URL = 'http://pckandap.com'

def fbauth(request):
    template = loader.get_template('fbauth.html')

    code = request.GET.get('code')
    if code is None:
        redirect_url = 'https://www.facebook.com/dialog/oauth?client_id='+APP_ID+'&redirect_uri='+MY_URL+'&state=pk1&scope=user_likes'
        return HttpResponseRedirect(redirect_url)
    else:
        access_token = urllib.urlopen('https://graph.facebook.com/oauth/access_token?client_id='+APP_ID+'&redirect_uri='+MY_URL+'&client_secret='+APP_SECRET+'&code='+code)
        context = Context({
            'code_url' : 'https://www.facebook.com/dialog/oauth?client_id='+APP_ID+'&redirect_uri=http://test.com'+'&state=pk1&scope=user_likes',
            'token_url' : 'https://graph.facebook.com/oauth/access_token?client_id='+APP_ID+'&redirect_uri='+MY_URL+'&client_secret='+APP_SECRET+'&code='+code,
            'access_token' : access_token.read()
        })
    return HttpResponse(template.render(context))

在我的转储这三个变量的模板中,我得到以下内容:
code_url :
令牌地址 :
访问令牌: {"error":{"message":"验证验证码时出错。请确保您的redirect_uri与您在OAuth对话框请求中使用的相同","type":"OAuthException","code":100} }


发现redirect_uri 需要尾部斜杠。现在可以使用以下内容。

from django.http import HttpResponse, HttpResponseRedirect
from django.template import Context, loader
import urllib, json, sys, cgi

APP_ID = 'DDDDDDDDDDDDDDD'
APP_SECRET = 'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'
MY_URL = 'http://pckandap.com/'

def fbauth(request):
    code = request.GET.get('code')
    if code is None:
        args = dict(client_id=APP_ID, redirect_uri=MY_URL, scope="user_likes,friends_likes")
        redirect_url = "https://graph.facebook.com/oauth/authorize?" + urllib.urlencode(args)
        return HttpResponseRedirect(redirect_url)
    else:
        args = dict(client_id=APP_ID, redirect_uri=MY_URL)
        args["client_secret"] = APP_SECRET  
        args["code"] = code
        token_url = "https://graph.facebook.com/oauth/access_token?"+urllib.urlencode(args)
        request.session['access_token'] = urllib.urlopen(token_url).read()[13:-1]
        return HttpResponseRedirect('/dash/likes')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

facebook django 应用程序的 oauth 中的 redirect_uri 错误 的相关文章

  • 公式无效:/usr/local/Homebrew/Library/Taps/facebook/homebrew-fb/buck.rb

    我运行了brew 命令来安装Facebook homebrew tap 我有一个 M1 Apple Silicon 芯片组 并使用 Rosetta 下的终端来执行 brew 命令 brew tap facebook fb 我收到错误消息 g
  • 基于连接表的 Django 过滤器

    我有两张桌子 class Client models Model name models TextField lastname models TextField class Meta managed False db table clien
  • Django 中基于类的视图分页

    我正在尝试对基于类的视图进行分页 这是我的观点 class IssuesByTitleView ListView context object name issue list def issues request issue list Is
  • 如何去除html源代码中的空格

    我正在使用 django 和 python 在模板文件中 我有一个下拉列表 如下所示 有用 唯一的问题是源 html 代码之间有很多空白 有什么办法可以去除空白吗 谢谢 for lang ele in video languages all
  • 配置 Django 和 Google 云存储?

    I am not使用应用引擎 我有一个在虚拟机上运行的普通 Django 应用程序 我想使用 Google Cloud Storage 来提供静态文件 以及上传 提供媒体文件 我有一个水桶 如何将 Django 应用程序链接到我的存储桶 我
  • 脚本在 SpreadsheetApp.openById 上失败 - 需要权限

    我有一个 onOpen 函数 可以在电子表格中创建自定义菜单 它已经工作了一年多 但几天前它停止工作了 当我查看执行记录时 我得到 执行失败 您无权调用 SpreadsheetApp openById 所需权限 https www goog
  • Pinax:自定义注册和个人资料

    我想在用户注册时收集更多信息 并将其显示为个人资料信息的一部分 以便用户在创建登录后可以对其进行编辑 如何在不直接更改 pinax 代码的情况下扩展注册和个人资料表单和模型 来自 松树docs http pinaxproject com d
  • Django 模板 - 我可以设置要在父模板中使用的变量吗?

    我有一个包含通用导航菜单的父模板 我希望能够添加class selected 到适当的菜单选项 我希望能够在子模板中设置变量 例如 set menu products and do ifequal menu products class s
  • 防火墙后面的 Web 应用程序上的 OAuth——这可能吗?

    我正在尝试构建一个网络应用程序来将事件添加到员工的谷歌日历中 并希望使用 OAuth 进行身份验证 但是 我的 Web 应用程序被迫位于防火墙后面的 Intranet 上 服务器具有出站 Internet 访问权限 但如果您不在 Intra
  • Django“模型”对象不可迭代

    我有一张表 其中显示了已注册的员工 我想根据他们的数据库生成一个简单的 HTML 页面 其中包括他们的姓名 id 职称等 为此 我将一个 id 传递给视图 以便它可以获取相应用户的详细信息并向我显示 一切正常 直到出现错误对象不可迭代 下面
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • 使用 Devise 和 Rails 从 Twitter Oauth 获取电子邮件

    我已经设置了一个基本的 Rails 应用程序来使用 twitter oauth gem 和设计 并且已经能够登录用户 但是 我的问题是我现在已将我的应用程序列入白名单 并且我想在响应中收到用户的电子邮件 我已遵循 Twitter 端的所有必
  • django 保护用户上传的文件

    如何允许用户将文件上传到他们自己的用户指定的文件夹 并且只能看到他们已上传的文件 我正在使用 django 文件传输 目前 它让我可以选择将媒体放入哪个文件 但我可以将其放入任何用户的文件中并查看每个用户的媒体 这是我的 uploads m
  • 在 django vanilla CreateView 上设置当前用户

    我想用当前登录的用户更新我的模型 我正在使用 django vanilla views 为了存储新记录 我尝试使用 CreateView 我不想在表单上显示用户 只需自动更新即可 这是我的模型 class Measurement model
  • 如何获取Django当前的语言?

    如何获取 Django 中的当前语言 特别感兴趣的功能是django utils translation get language 它返回当前线程中使用的语言 看文档 https docs djangoproject com en dev
  • Django 评论和评级系统

    我正在寻找一个可以与我的 Django 网站顺利集成的博客和评论系统 我在网上发现了很多 但有点迷失了 我在这方面没有太多经验 希望大家能给我一些建议 以下是我想要拥有的东西 标签云 文章存档 按月 按年 文章评级 例如带有星星或自定义图标
  • 如何获取 Facebook 用户当前所在的国家/地区?

    Facebook Graph API 提供了用户当前位置 http developers facebook com docs reference api user 有两种格式 名称和 ID ID 可以是这样的104022926303756
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • Facebook LoginActivity 未正确显示

    我有一个使用 Facebook 登录的应用程序 我有 FacebookSDK 并且使用 com facebook LoginActivity 问题是 在 10 英寸平板电脑上 当显示软键盘时 活动无法正确显示 我使用的是 Samsung G
  • 在 django 查询集上使用 iterator()

    我最近遇到了一些奇怪的行为 需要检查我的理解 我在模型中使用一个简单的过滤器 然后迭代结果 e g allbooks Book objects filter author A A Milne for book in allbooks do

随机推荐

  • 64位linux内核如何从ELF启动32位进程

    通过查看binfmt elf c https elixir bootlin com linux v3 5 source fs binfmt elf c在内核源代码中 我无法弄清楚内核 64 位 在生成 32 位进程与 64 位进程时有何不同
  • 性能:boost.compute vs. opencl C++ 包装器

    以下代码分别使用 boost compute 和 opencl C 包装器将两个向量相加 结果显示 boost compute 几乎比 opencl c 包装器慢 20 倍 我想知道我是否错过了使用 boost compute 或者它确实很
  • 如果 automountServiceAccountToken 设置为 false,Pod 服务帐户的用途是什么?

    服务帐户的 API 凭证通常挂载在 pod 中 如下所示 var run secrets kubernetes io serviceaccount token 此令牌允许 Pod 中的容器化进程与 API 服务器进行通信 Pod 服务帐户的
  • 尝试在 Google App Engine 上部署 node.js 时出错

    我在尝试部署时遇到错误Node js应用程序到 Google App Engine Node js运行时因 require 语句而崩溃 我有什么错吗 目录结构 app 协议 js应用程序 js 在文件 app js 中 var protoc
  • 如何以编程方式获取 iPhone 的 MAC 地址

    如何以编程方式获取 iPhone 的 MAC 地址和 IP 地址 NOTE从 iOS7 开始 您无法再检索设备 MAC 地址 将返回一个固定值而不是实际的 MAC 我不久前偶然发现的一件事 最初是从here http www iphoned
  • 我该如何解决此推送错误 - 从身份验证端点返回的 JSON 无效,但状态代码为 200?

    在这里问同样的问题后我仍然遇到这个问题 从 auth 端点返回的 JSON 无效 但状态代码为 200 https stackoverflow com questions 67082279 json returned from auth e
  • 如何仅从一列中选择不同的值

    我有记录如下 key name 1111 aa 1111 bb 2222 cc 我需要选择key and name当 的时候key价值是独特的 当我尝试时 select distinct key name from table 我得到了所有
  • 在c++中将hdf5文件读取到动态数组

    由于堆栈的大小限制 我正在尝试将大型 3D hdf5 文件读入动态数组 我尝试了几种不同的方法 但由于分段错误而失败 下面是显示我的问题的示例代码 我非常感谢一些帮助 This example was based on several ex
  • RestTemplateBuilder bean

    我的应用程序与不同的休息端点交互 每个端点都需要一个专门的 RestTemplate 对象 我正在使用 RestTemplateBuilder 创建每个 RestTemplate 对象 克隆 Spring Boot 提供的 RestTemp
  • AngularJS module.constant() :如何仅在模块内定义常量?

    在一个页面上 我有几个 Angular 模块 对于每个模块 我定义一个包含模块版本的常量 var module1 angular module module1 constant version 1 2 3 var module2 angul
  • 如何在 C++ 中维护指向父级的弱指针?

    是否有一种标准方法可以在 C 的子对象中维护指向父对象 使用共享指针创建 的弱指针 本质上 我需要实现以下内容 Class B Class A private B m b Class B public void SetParentPtr c
  • 正常关闭 IHostedService

    我正在尝试在 NET Core 中开发一个简单的 API 允许异步处理请求 请求发送至控制器 后台服务 IHostedService 上安排的工作 控制器返回 202 后台服务执行长时间运行的操作 由于应用程序将在 IIS 上运行 因此控制
  • 成员函数模板放在哪里

    C 中经常让我感到沮丧的一个方面是决定模板在头文件 传统上描述接口 和实现 cpp 文件之间的位置 模板通常需要进入标头 公开实现 有时还需要引入以前只需要包含在 cpp 文件中的额外标头 我最近再次遇到这个问题 下面显示了一个简化的示例
  • 如何在android中现有的html内容附加附加文本?

    我正在开发一个应用程序 在其中我将文本附加到存储在 html 文件中的现有文本 html 文件的位置位于我的应用程序的 assets 文件夹中 我知道如何使用 URL 加载 html 但我的问题是附加文本 以下是我的java代码 publi
  • Servlet 3.0 注销不起作用

    我对 Servlet 3 0 的身份验证功能有疑问 在 Servlet v3 中使用此代码 log info request getUserPrincipal log info request getAuthType log info re
  • Laravel 5.3WhereIn 返回唯一结果

    我在这个地方遇到问题 我的代码看起来像这样 arrayKeys 1 2 1 4 5 1 products App Product whereIn id arrayKeys gt select id name outright price d
  • 为 ifeq 出错:意外标记附近出现语法错误

    我正在编写一个在一个地方进行字符串匹配的 Makefile 代码如下 if test then shell scripts fi ifeq DIST TYPE nightly shell scripts endif 这里是第一个if第二个是
  • Access Services 和 SharePoint 2010 - 需要信息

    我被要求研究将 Access 解决方案直接发布到 SharePoint 的能力 如下面的演示所示 http channel9 msdn com shows Access Microsoft Access 2010 Demo http cha
  • 如何设置标题栏的背景?

    我已按照此问题的说明进行操作 如何更改操作栏上的文本 https stackoverflow com questions 3438276 change title bar text in android 我能够成功创建自己的标题栏 但是当我
  • facebook django 应用程序的 oauth 中的 redirect_uri 错误

    我在从 Facebook 获取我正在尝试编写的 Django 应用程序的访问令牌时遇到问题 我的视图设置如下 from django http import HttpResponse HttpResponseRedirect from dj