标签: pinterest

如何为Pinterest获取OAuth访问令牌?

我正在访问Pinterest API以使用此URL获取用户的信息,但我找不到如何为Pinterest生成访问令牌.

根据这篇博客文章,它说

Pinterest使用OAuth2对用户进行身份验证

你能否告诉我,从哪里可以为Pinterest生成OAuth访问令牌?

pinterest

10
推荐指数
2
解决办法
1万
查看次数

有没有办法用HtmlUnit触发滚动事件,还是根本不可能?

我目前正在学习HtmlUnit以便抓取网站.一切顺利,直到我遇到动态页面(例如,我正在使用Pinterest网站),当用户向下滚动时,动态添加元素.

我已经尝试了几种应该在真实浏览器中触发滚动的方法(我将在下面显示).在进一步讨论之前,我想提一下我已经设置了以下配置:

    webclient.setJavaScriptEnabled(true);
    webclient.setAjaxController(new NicelyResynchronizingAjaxController());
Run Code Online (Sandbox Code Playgroud)

让我们说我想让所有关注者都在Pinterest上.我导航到那个页面,现在从第一次只有24个,我想向下滚动,触发Ajax调用服务器并检索下一组关注者的事件.

1)简单的javascript或jQuery代码触发窗口滚动.

    ScriptResult sr = followersPage.executeJavaScript("window.scrollBy(0,1000)");
    // One version in jQuery
    // ScriptResult sr = followersPage.executeJavaScript("$(window).scrollTop(0,1000);");
    // also tried with the body, html, with animation
    // ScriptResult sr = followersPage.executeJavaScript("$("html, body").animate({ scrollTop: $(document).height() }, 1000);");
    webclient.waitForBackgroundJavaScript(10000);
    followersPage = (HtmlPage)sr.getNewPage();
Run Code Online (Sandbox Code Playgroud)

=>当我检查到顶部的距离时,它等于0,结果页面与原始页面相同.在Eclipse中进行调试时,当我跨越执行javascript的行时,它会直接转到下一行,没有任何延迟.如果我写任何其他JavaScript,例如:

     ScriptResult sr = followersPage.executeJavaScript("$(div.GridItems).html('new content')");
Run Code Online (Sandbox Code Playgroud)

您可以注意到调试器在该行上挂起了半秒钟,这意味着执行了javascript.

2)将焦点从一个跟随锚点更改为另一个(我选择了锚点,因为当您单击TAB键时它在焦点顺序中使用):

    HtmlDivision gridItems = followersPage.getFirstByXPath("//div[contains(concat(' ',@class,' '),' GridItems ')]");
    List<HtmlDivision> els = (List<HtmlDivision>) gridItems.getByXPath("//div[@class='item ']");
    List<HtmlDivision> items = (List<HtmlDivision>) gridItems.getByXPath("//div[@class='item ']");
    for (HtmlDivision item : items) {
        HtmlAnchor a …
Run Code Online (Sandbox Code Playgroud)

javascript ajax scroll htmlunit pinterest

10
推荐指数
1
解决办法
1521
查看次数

创建一个动态的Pinterest按钮?

有没有办法创建动态Pinterest按钮?我正在尝试将Pinterest支持添加到主要内容是动态的站点,因此我只在页面源中有一个Pin It按钮,它固定了当前内容.

我无法找到使用预建Pin It按钮执行此操作的方法,因为它要求您提前指定硬编码的URL.

但是,还有一个Pin It bookmarklet可以实现我想要的效果 - 但这需要用户手动将其添加到书签栏.

有没有什么方法可以(a)修改Pin It按钮,或(b)以某种方式将书签集成到我的页面中,以便它可以固定任何当前页面内容?

bookmarklet dynamic button pinterest

9
推荐指数
1
解决办法
7957
查看次数

如何获取Pinterest V3 API-KEY或access_token

我正在尝试获取Pinterest数据,这将是用户的公共信息(跟随者计数等),以及用户的所有引脚.

我知道v3 API现在已经启动,v2 apis已被取消.

我找到了这个链接,它给出了我想要的终点:

http://techslides.com/most-repinned-pinterest-pins-by-website/

但是我无法获得access_token.我已经要求pinirest api访问,但他们没有回复.我也无法嗅探应用数据.

我也尝试过Pinterest的签名测试工具,这个工具在他们的网站上但没有运气.它生成的链接也不起作用.它返回授权失败.

https://developers.pinterest.com/tools/signature/

我可以访问APP-ID和Client-Secret.我需要知道如何获得访问令牌/ API-KEY以使我能够完成以下工作:

https://api.pinterest.com/v3/users/jessicamalba/?access_token=APIKEY

编辑

在我被告知之前是重复的

如何获取访问令牌以访问Pinterest Api

我只想说它不是.这个问题是在一年前被问到的,并被问及V2 api.现在返回404状态.所以现在我在这里询问V3 api.

java api pinterest

9
推荐指数
2
解决办法
1万
查看次数

仅在具有指定类的图像上显示Pinterest悬停按钮

客户希望将鼠标悬停在网站上的某些图像上.我查看了Pinterest网站上的文档,只能找到如何将所有图像设置为pinit,并可选择使用CSS类关闭一些图像.但这意味着网站上95%的图像都必须有一个nopin类.

有没有办法可以将类应用于像"pinthis"这样的图像,这样只有它们才能连接到pinit按钮.我注意到你可以在Wordpress上做这样的事情,但这是一个自定义构建的网站.

提前致谢!

编辑:

这是我在头文件中添加的代码,如上面的Pinterest开发人员链接中所述:

<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js" data-pin-hover="true"></script>
Run Code Online (Sandbox Code Playgroud)

这基本上将页面上的所有图像设置为具有pinit按钮,但我需要它们仅应用于具有特定类的图像

html javascript css jquery pinterest

9
推荐指数
2
解决办法
3134
查看次数

选择Pinterest上的所有图像以移动到另一个板

更新:(2015-10-16)[已解决!] - 使用trigger()和限制为50个引脚(使用slice())进行修复.

非常感谢Abhas Tandon通过使用提出这一点

$(this).trigger('click');
Run Code Online (Sandbox Code Playgroud)

代替

$(this).addClass('selected');
Run Code Online (Sandbox Code Playgroud)

它会正确选择图像.我测试了一个由21个图像组成的板,它工作得很完美!但是,当试图移动300多个引脚时,它失败并出现此错误:

"You can only move 50 Pins at a time." 
Run Code Online (Sandbox Code Playgroud)

然后,我通过使用JavaScript的slice()函数来获取前50个图像,从而解决了这个问题.经过测试,现在可以正常使用.所以我的目标是,我一次只能选择并移动50个针脚,但这比用手一个一个地挑选它们要好得多!


最终工作代码:

function checkAll() {
    console.log("Checkboxes count: " + checkBoxes.length);

    $.each(checkBoxes, function(i, v) {
      console.log("Checkbox #: " + i)// + " = " + v);
      $(this).trigger('click');

    });
}

var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");

var checkBoxes = checkBoxes.slice(1, 51);

checkAll();
Run Code Online (Sandbox Code Playgroud)




问题描述:

我正在开发一个Pinterest接口(?)脚本(?)有些麻烦.我是一名程序员,大多是自学成才,我想我可能缺少一些关于AJAX理解的关键部分?这是我第二次尝试编写一个jQuery脚本来与Pinterest进行交互.第一个尝试打败无限滚动功能(AKA"加载更多"按钮),以便将所有图像显示在一个页面上,我可以从中抓取图像链接,然后使用浏览器插件下载它们以备份我的Pinterest登上我的电脑.我的代码全部工作,除了它实际上没有下载任何图像.

失望,我把它暂时放在了其他的东西上.最后,我重新访问了我的代码并进行了一些挖掘,它应该有效.我的研究表明,可能阻止我的程序做我想做的关键FLAW就是"Pinterest使用AJAX".虽然我知道"使用XML的异步JavaScript"和"XMLHttpRequest"这两个术语,但我在实施AJAX方面并不是一个专家.

使用我的最新代码,我写了一个 - 你会认为它会是 - 快速的小jQuery脚本来选择所有图像,以便我可以移动它们,删除,复制等...问题是,虽然检查所有的框工作(你必须在一个板子,然后点击"移动"),当我第二次点击"移动"按钮时,应该弹出一个模态让我们选择要移动到哪个板,我得到的只是

Oops!
Select the Pins …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery reverse-engineering pinterest

9
推荐指数
1
解决办法
778
查看次数

UICollectionView动态单元格高度(Pinterest布局)

我正在尝试在我的应用程序中实现Pinterest布局

我使用以下委托方法来实现它并动态设置单元格高度

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let boundingRect =  CGRect(x: 0, y: 0, width: self.view.frame.size.width / 2 - 20, height: CGFloat(MAXFLOAT))
    let data = articles[indexPath.row]
    let rect  = AVMakeRect(aspectRatio: (data.coverImage?.size)!, insideRect: boundingRect)
    return CGSize(width: rect.width, height: rect.height + 120) // Added 120 for a description I will add later 
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了以下结果:

这里

灰色背景是单元格的背景,你可以看到每个单元格都有自己的高度(正如预期的那样),但是还有额外的空格,我不知道如何删除.

我怎样才能解决这个问题?

pinterest uicollectionviewcell swift

9
推荐指数
1
解决办法
7115
查看次数

你会如何用meteor.js建立像页面一样的pinterest

我希望大家都知道pinterest样式布局及其行为:

  • 我们收集了许多(比方说1000)产品
  • 在页面加载时,我们只显示该集合的一小部分(即20个第一产品)
  • 当用户向下滚动并到达页面底部时,我们将呈现下20个产品
  • 页面由许多客户端查看,每个客户端都有自己的一组显示的产品

奖金任务:

  • 当Products集合获取新项目时,它们将显示在页面顶部(作为显示的产品列表中的第一项)

我在想如何用Meteor方式编写逻辑.让我们跳过用户界面代码,我只对业务逻辑感兴趣.

我正在考虑将ProductsDisplayed集合作为帮助器,它是空的并且在页面加载时由20个产品填充,然后当达到滚动点时,我从原始产品集合中插入20个产品等.

问题:

  • 如何在客户端之间使用不同的ProductsDisplayed集合,
  • 如何从产品系列中询问下20种产品,而不是之前的产品

但也许关于ProductsDisplayed的整个想法是错误的.我很想知道你的想法!

更新!
我改变了只使用Products系列的方法.

服务器:

Meteor.publish "productsDisplayed", (number) ->
  Products.find {},
    limit: number
Run Code Online (Sandbox Code Playgroud)

客户:

Meteor.autosubscribe ->
  Meteor.subscribe "productsDisplayed", Session.get('productsDisplayedNumber')
Run Code Online (Sandbox Code Playgroud)

当达到滚动点时,递增20个Session'productsDisplayedNumber'.但是自动订阅使得整个模板被重新渲染,而不仅仅是新元素.有任何想法吗?

pinterest meteor

8
推荐指数
1
解决办法
885
查看次数

Pinterest授权失败

我们的prod pinterest应用程序有问题.获得令牌后:

"{"access_token": "AabcYgRUKiaBI45HYM72teXO6fZaFQoEhVxkxaREoN3SR-
A4zAAAAAA", "token_type": "bearer", "scope": ["read_public", 
"write_public", "read_private", "write_private", "read_relationships", 
"read_write_all"]}"
Run Code Online (Sandbox Code Playgroud)

然后我们尝试 使用此令牌获取用户信息https://api.pinterest.com/v1/meAuthorization: Bearer AabcYgRUKiaBI45HYM72teXO6fZaFQoEhVxkxaREoN3SR-A4zAAAAAA

和回应

"{"status": "failure", "message": "Authorization failed.", "code": 3, 
"data": null}"
Run Code Online (Sandbox Code Playgroud)

申请状态Authorization: Bearer AabcYgRUKiaBI45HYM72teXO6fZaFQoEhVxkxaREoN3SR-A4zAAAAAA 现在.它会被pinterest改变吗?我们的开发应用按预期工作.

pinterest

8
推荐指数
1
解决办法
3915
查看次数

如何获得 Pinterest API 应用程序批准?

也许这不是代码问题,但我们真的不知道该问哪里......我们已经向 Pinterest 支持提交了几个请求,但仍在等待我们的应用程序获得批准,几周后......基本上,我们没有'没有从 Pinterest 得到任何有用的答案......我们的客户向我们施加了很大压力,而且我们还需要计费......

那么,你们中有人遇到过同样的问题吗?你最后是怎么解决的?

api pinterest

8
推荐指数
0
解决办法
606
查看次数