问题标签 [constantcontact]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

ruby-on-rails - 如何将手动将新用户添加到 Constant Contact 的 Rails 控制器重构为后台作业?

我已经在我的 Rails 应用程序中成功构建了一个控制器,该控制器连接到Constant Contact v3 API,并将当前用户的电子邮件地址添加到 Constant Contact 的列表中。但是,这仅在用户登录并通过单击浏览器中的链接触发该过程时才有效。

我不知道如何重构它(after_create例如,在用户模型中使用回调)或后台作业。当新用户注册时,我希望这发生在幕后。我正在关注 Constant Contact API 文档中的OAuth2.0 服务器流程

以下是它目前的工作方式:

  1. 用户注册并访问constant_contact#index页面 (/constant-contact),他们单击链接将我的 Constant Contact API 密钥发送给 Constant Contact。
  2. Constant Contact 使用授权代码响应我在constant_contact#callback(/constant-contact/callback)设置的重定向 URL
  3. 在我的constant_contact#callback操作中,我从参数中获取授权代码并使用它来构建一个 JSON 帖子,然后将授权代码发送回 Constant Contact API,以便 Constant Contact 知道它正在与正确的域通信。
  4. 然后,Constant Contact 在我的 /constant-contact/callback url 处返回一个令牌作为响应,然后我可以使用此令牌与 Constant Contact API 进行交互。

这是我用来完成所有这些操作的控制器(如果更易于阅读,则为gist 版本):

现在所有这些都在浏览器中手动运行,但是我将如何重构它以便触发一个后台作业,当用户注册时自动完成所有这些工作?

恒定联系帐户永远不会改变。我只想在他们注册时将新用户添加到我的恒定联系人帐户中的特定列表中。

0 投票
1 回答
187 浏览

python - 使用常量联系 API

我正在尝试使用 Python 和 Constant Contact API 将新联系人推送到 Constant Contact 并将它们添加到列表中。到目前为止,我已经尝试了以下方法:

但是当我运行它时,我得到一个错误401 Client Error: Unauthorized for url: https://api.cc.email/v3/contacts?api_key=xxxxxxx

为什么我会收到此错误?为了确保我正确执行此操作,我需要更多背景知识,我进入了 Constant Contact开发门户并创建了一个新应用程序。它给了我一个 API 密钥,我将它插入到 URL 中,以及一个秘密,我认为它是不记名令牌,所以在那里替换它。我还使用 Constant Contact 参考文档 UI 测试了有效负载,该 UI 允许在 OAuth 身份验证后测试有效负载,并且那些成功。具体来说,我正在使用这个端点